解除绑定(滚动)停止所有使用滚动方法的代码 jquery
unbind(scroll) stop all codes working with scroll method jquery
我正在使用滚动方法在向下滚动后仅显示一次警报(sql 代码执行)。
$(window).scroll(function(){
if($(this).scrollTop()>200){
alert("Sql executed");
$(this).unbind("scroll");
}
});
在我向下滚动后添加 show-new-fixed header 之前它一直运行良好,问题是 header 出现但是当 alert()
出现时,这个新的header不藏不露真人
$(window).scroll(function() {
if ($(this).scrollTop() > 35) {
$(".header").hide();
$(".header_scroll").show();
} else {
$(".header_scroll").hide();
$(".header").show();
}
});
我认为这是因为 .unbind(scroll)
,那么如何只针对警报而不是针对 header 解除绑定?
为您的滚动功能添加一个标识符。然后你可以解绑那个特定的函数:
$(window).bind("scroll.myScroll", function(){
if ($(this).scrollTop() > 200) {
console.log("Sql executed");
$(this).unbind(".myScroll");
}
});
$(window).scroll(function() {
if ($(this).scrollTop() > 35) {
$(".header").hide();
$(".header_scroll").show();
} else {
$(".header_scroll").hide();
$(".header").show();
}
});
html,
body {
height: 5000px;
}
.header,
.header_scroll {
position: fixed;
}
.header_scroll {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">header</div>
<div class="header_scroll">header_scroll</div>
我正在使用滚动方法在向下滚动后仅显示一次警报(sql 代码执行)。
$(window).scroll(function(){
if($(this).scrollTop()>200){
alert("Sql executed");
$(this).unbind("scroll");
}
});
在我向下滚动后添加 show-new-fixed header 之前它一直运行良好,问题是 header 出现但是当 alert()
出现时,这个新的header不藏不露真人
$(window).scroll(function() {
if ($(this).scrollTop() > 35) {
$(".header").hide();
$(".header_scroll").show();
} else {
$(".header_scroll").hide();
$(".header").show();
}
});
我认为这是因为 .unbind(scroll)
,那么如何只针对警报而不是针对 header 解除绑定?
为您的滚动功能添加一个标识符。然后你可以解绑那个特定的函数:
$(window).bind("scroll.myScroll", function(){
if ($(this).scrollTop() > 200) {
console.log("Sql executed");
$(this).unbind(".myScroll");
}
});
$(window).scroll(function() {
if ($(this).scrollTop() > 35) {
$(".header").hide();
$(".header_scroll").show();
} else {
$(".header_scroll").hide();
$(".header").show();
}
});
html,
body {
height: 5000px;
}
.header,
.header_scroll {
position: fixed;
}
.header_scroll {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">header</div>
<div class="header_scroll">header_scroll</div>