我的脚本出了什么问题。单击功能后,它不会更改变量d。我也尝试过window.d但仍然一样。
var d = undefined;
$(document).ready(function(){
if ($(window).scrollTop() !== 460) {
d = $(window).scrollTop();
} else {
d = 459;
}
if (d < 459) {
$('#drop1, #drop2, #drop3').on('click',function(){
$.scrollTo(460, 900, { easing: 'easeOutExpo' });
$(document).scroll();
d = 500;
});
} else {
console.log(window.d);
}
});
答案 0 :(得分:0)
基于OP的评论&#34; onclick功能应该仅在d小于459&#34;时才有效,我想知道这是否是他正在寻找的:
var d = undefined;
$(document).ready(function(){
if ($(window).scrollTop() !== 460) {
d = $(window).scrollTop();
} else {
d = 459;
}
$('#drop1, #drop2, #drop3').on('click',function() {
// move d<459 test inside click event
// the click event will always be fired, but the
// scroll effect will only occur if d<459
if (d < 459) {
$.scrollTo(460, 900, { easing: 'easeOutExpo' });
$(document).scroll();
d = 500;
};
console.log(d); // always tell me d for debugging
}};
});
当然,click事件只能触发一次滚动效果;然后设置d = 500,除非d在其他地方再次重置,(d < 459)
将永远不再为真。