Dram

Рейтинг
1114
Регистрация
28.06.2008

Сделал так:

		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");
}
$(window).resize(function(){
if($(window).width()<1024 ) { jQuery('#tabs-menu').css("position", "static"); }
});

Меню плавает на дексопах как и задумано - все хорошо, но блин так же продолжает плавать и на мобильниках.

Нет мне нужно чтобы меню НЕ ПЛАВАЛО при разрешении МЕНЕЕ 1024

Ваш код я проверил при разных разрешениях - он вообще не работет.

TOP 2 задан выше, вот так код работает как нужно но только на деспопах, а вот на мобилах портит всю картину

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");
}

Че то не пашет, есть ошибка?

		$(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(); }
});
function manamana(){
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");
}
}

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

А 1024 куда? так?

$(window).resize(function(){

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

});

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

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

Zloy_Tip, спасибо, жаль плюсануть не дает, а можно еще одно условие добавить? Чтобы все это дело работало (плавало) только на разрешении экрана от 1024 и выше

Пробую использовать position: sticky; что не так?

https://codepen.io/anon/pen/wdXEXX

---------- Добавлено 15.05.2017 в 19:47 ----------

понял - position: sticky не поддерживается хромом :( Какие еще варианты плавающего блока чисто на css?

Всего: 6924