https://jsfiddle.net/9o73880z/ - 小提琴可能有助于理解我将在这里写的内容:)
我正在修复(但位置:绝对,因为最后它真的很长,我需要它滚动:))我的页面上的菜单。
它扩展了点击(NAV附近的V)。当用户滚动页面时,它与用户一起使用。
$(window).scroll(function() {
var sctre = $(window).scrollTop();
if(sctre >= 95) {
if($(".trefl-nav-switch").hasClass("trefl-zwiniete")) {$(".trefl-head-top").css({"padding-top":"40px","top":sctre-41,"background":"#fff"});}
if($(".trefl-nav-switch").hasClass("trefl-rozwiniete") && sctre < menu_top_pos) {$(".trefl-head-top").css({"padding-top":"40x","top":sctre-41,"background":"#fff"});}
}
if(sctre < 95) {
$(".trefl-head-top").css({"padding-top":"0px","top":"75px"});
}
});
当滚动位置超过95时,它会与用户一起使用(仅适用于我正在处理的页面兼容性的值),但仅当折叠导航按钮时 (hasClass(&#39; zwiniete&#39))。当它展开时(hasclass(rozwiniete))它会停止,因此用户可以滚动菜单,而不是页面本身。
现在是我的问题,我不知道如何实现:
if($(".trefl-nav-switch").hasClass("trefl-rozwiniete") && sctre < menu_top_pos) {$(".trefl-head-top").css({"padding-top":"40x","top":sctre-41,"background":"#fff"});}
责任代码。
我将不胜感激任何帮助,谢谢:)
答案 0 :(得分:0)
当你打开菜单时,将它的css位置更改为fixed并添加overflow-y scroll和菜单的max-height,一旦达到指定的高度,它将触发菜单的滚动:
if ($(".trefl-nav-switch").hasClass("trefl-zwiniete")) {
...
$(".trefl-head-top").css("position",'fixed');
$(".trefl-head-top").css("overflow-y",'scroll');
$(".trefl-head-top").css("max-height",'100px');
$(".trefl-head-top").css("top",'0px');
...
}
关闭时需要设置$(".trefl-head-top").css("position",'absolute');
并重置其余属性。你可能需要摆弄top属性来正确定位它,但你已经在代码中做了类似的事情