我正在努力解决以下问题:我想根据屏幕宽度更改标题的行为。从小分辨率到大分辨率时,它工作得很好。但另一方面围绕着" ganzOben"和" inMitte"功能不会停止。任何想法?
$(document).load($(window).bind("resize", checkHeader));
$(document).ready(checkHeader ());
$(window).scroll(checkHeader ());
function checkHeader(){
if (window.matchMedia('(min-width: 725px)').matches) {
$(window).scroll(function ganzOben (){
if($(document).scrollTop() <= 0) {
/* CSS for Header Desktop Res TOP */
}
});
var lastScrollTop = 0;
$(window).scroll(function inMitte (event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
/* CSS for Header invisble by Downscolling */
} else {
/* CSS for Header visible by Upscolling */
}
lastScrollTop = st;
});
} else {
$(window).scroll(function inMitte (event) {return false});
$(window).scroll(function ganzOben () {return false});
/* CSS for Header in mobile View */
};
};
`
答案 0 :(得分:0)
目前,您每次调用checkHeader
时都会添加新的事件处理程序。
您需要删除事件处理程序:$(window).off('scroll');
此外,我不太清楚为什么要为滚动事件设置两个不同的处理程序,一个就足够了。