【发布时间】:2013-01-09 01:05:27
【问题描述】:
有没有更好的方法来监控变量的变化并在某个值处触发函数?
目前我有这个 -
$(window).on('scroll', function() {
if(scrolledYet == "ready" && positionNow < 20){
fadeOutIntro();
scrolledYet = "yes";
}
if(scrolledYet != "ready" && positionNow < 840 && positionNow > 20 ){
$('.logoBlock,.introScrollIcon, .introText').fadeIn('700')
setTimeout(function() { $('#nav').fadeIn('1000');},1000);
setTimeout(function() {introOnOff = "on";},100)
}
});
positionNow 变量在另一个函数中设置并存储当前滚动位置,有没有更好的方法来构造这个脚本
【问题讨论】:
-
嗯,您已经在监控它,这就是为什么您在滚动时检查它的价值。你不是吗?
-
您的滚动位置可以在 {element-with-scrollbar}.scrollTop() 中找到,另请参阅此处developer.mozilla.org/de/docs/DOM/element.scrollTop 和 api.jquery.com/scrollTop
-
是的 - 但在当前设置中,它似乎反应出乎意料 - 如果我更改脚本,因此它只会在每个场景中触发每组指令一次,并且我在第二个函数中提醒 poistionnow 变量 -它每次都有不同的高度数字 - 这让我认为必须有更好的方法来监控变量,因为它看起来不太准确?
标签: jquery