Javascript 将jQuery脚本转换为可在调整大小处理程序中调用的函数
我有以下jQuery:Javascript 将jQuery脚本转换为可在调整大小处理程序中调用的函数,javascript,jquery,Javascript,Jquery,我有以下jQuery: $(window).scroll( function() { if( $(this).scrollTop() > 0 ) { $(".header-layout, .top-tier-menu-bar ").hide(); } else { $(".header-layout, .top-tier-menu-bar").show(); } }); 我希望将它转换为一个函数,这样我就可以使用$(wind
$(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停止工作。谁能告诉我我做错了什么?谢谢您的帮助。我想您可能使您的功能变得比需要的稍微困难一些。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();
});
或者,您可以在上使用,它将许多事件作为其参数:
$(window).on("scroll resize", checkScrollPosition);
我认为你可能使它比你的功能所需要的稍微困难一些。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();
});
或者,您可以在上使用,它将许多事件作为其参数:
$(window).on("scroll resize", checkScrollPosition);
这是对JQuery实用程序功能的不当使用。如果要创建事件回调,请根据需要执行该操作。这是对JQuery实用程序功能的不当使用。如果要创建事件回调,请根据需要执行此操作。注意:快捷方式事件方法的使用在不久前已被弃用。相反,总是使用
.on()
设置甚至回调。我知道我不应该在评论中说谢谢,但是谢谢@Djave,这个解决方案非常适合我的需要。感谢您的努力。注意:快捷方式事件方法的使用在不久前就被弃用了。相反,总是使用.on()
设置甚至回调。我知道我不应该在评论中说谢谢,但是谢谢@Djave,这个解决方案非常适合我的需要。感谢你的努力。