我有以下jQuery:
$(window).scroll( function() {
if( $(this).scrollTop() > 0 ) {
$(".header-layout, .top-tier-menu-bar ").hide();
}
else {
$(".header-layout, .top-tier-menu-bar").show();
}
});
我希望将其转换为函数,以便在用户调整窗口大小时脚本中断时可以使用$(window).resize(function(){...})
来引用它。
我尝试过将其包裹为这样:
jQuery.fn.myfunction = function() {
$(window).scroll( function() {
if( $(this).scrollTop() > 0 ) {
$(".header-layout, .top-tier-menu-bar ").hide();
}
else {
$(".header-layout, .top-tier-menu-bar").show();
}
});
}
但是这导致jQuery停止工作。谁能告诉我我在做什么错?谢谢您的帮助。
答案 0 :(得分:2)
我认为您可能会使其功能变得有些困难。 Scott提到的标准回调应该可以解决问题。
function checkScrollPosition(){
if( $(window).scrollTop() > 0 ) {
$(".header-layout, .top-tier-menu-bar ").hide();
}
else {
$(".header-layout, .top-tier-menu-bar").show();
}
}
$(window).scroll( function() {
checkScrollPosition();
});
$(window).resize( function() {
checkScrollPosition();
});
或者,您可以使用on
,它将多个事件作为其参数:
$(window).on("scroll resize", checkScrollPosition);