Вопрос по JS

123 4
D
На сайте с 28.06.2008
Offline
1101
2621

Сделал плавающий блок, прошу почь решить последнюю задачку.

Этот код не должен работать эсли разрешения экрана (учитывая ресайз) менее 1024 пк. - что нужно в него добавить?

if(!sTop3) {
sTop3 = jQuery('#tabs-menu').offset().top;
}
if (document.documentElement.scrollTop > sTop2 || self.pageYOffset > sTop2) {
jQuery('#tabs-menu').css("position", "fixed");
jQuery('#tabs-menu').css("top", "0px");
jQuery('#tabs-menu').css("margin-top", "0px");
jQuery('#tabs-menu').css("z-index", "100");
jQuery('#tabs-menu').css("max-width", "747px");
jQuery('#tabs-menu .active').css("border-bottom-color", "#E86500");
jQuery('#tabs-menu li').css("border-top-left-radius", "0px");
jQuery('#tabs-menu li').css("border-top-right-radius", "0px");
} else if (document.documentElement.scrollTop < sTop2 || self.pageYOffset < sTop2) {
jQuery('#tabs-menu').css("position", "static");
}
if (self.pageYOffset + document.documentElement.clientHeight > document.documentElement.scrollHeight) {
jQuery('#tabs-menu').css("position", "static");
}
Z0
На сайте с 03.09.2009
Offline
756
#1

У меня примерно так

$(window).resize(function(){
if($(window).width()>=1024 ) {тут код}
});
window.addEventListener('orientationchange', function() {
if($(window).width()>=1024 ) {тут код}
}, false);
$(document).ready(function(){
if($(window).width()>=1024 ) {тут код}
});
D
На сайте с 28.06.2008
Offline
1101
#2

Я далеко не кодер - это что получается три раза дублировать один и тот же код? А как-то более оптимально нельзя?

Z0
На сайте с 03.09.2009
Offline
756
#3

$(window).resize(function(){ manamana(); }); - это при ресайзе окна мышкой

window.addEventListener('orientationchange', function(){ manamana(); }); - это при повороте телефона (вам может и не надо)

$(document).ready(function(){ manamana(); }); - это при первоначальной загрузке страницы

А свой код суньте в функцию

function manamana()

{

тут код...

}

D
На сайте с 28.06.2008
Offline
1101
#4

Это я все понял - но нельзя ли все эти условия объединить что-ли? чтобы мой код написать 1 раз?

I2
На сайте с 07.03.2015
Offline
38
#5

Сделайте две функции, одна будет включать ваш блок, а вторая отключать.

И вызывайте их когда нужно.

Качественная верстка PSD макетов (/ru/forum/974524)
Z0
На сайте с 03.09.2009
Offline
756
#6

Я поправил немного свой пост

Dram:
Это я все понял - но нельзя ли все эти условия объединить что-ли? чтобы мой код написать 1 раз?

function manamana()
{
тут код...
}

А потом уже просто функцию manamana(); суйте в те места, которые я показал

D
На сайте с 28.06.2008
Offline
1101
#7

А 1024 куда? так?

$(window).resize(function(){

if($(window).width()>=1024 ) {manamana(); }

});

Z0
На сайте с 03.09.2009
Offline
756
#8
Dram:
А 1024 куда? так?

$(window).resize(function(){
if($(window).width()>=1024 ) {manamana(); }
});


$(window).resize(function(){
if($(window).width()>=1024 ) { manamana(); }
});
window.addEventListener('orientationchange', function() {
if($(window).width()>=1024 ) { manamana(); }
}, false);
$(document).ready(function(){
if($(window).width()>=1024 ) { manamana(); }
});
D
На сайте с 28.06.2008
Offline
1101
#9

Большое спасибо за помощь, плюсануть че то не дает!

Z0
На сайте с 03.09.2009
Offline
756
#10
Dram:
Большое спасибо за помощь, плюсануть че то не дает!

Не важно, главное чтобы работало :) Я тоже не спец в js :)

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий