jqueryif-else位于页面顶部
我似乎无法让它正常工作,只有一个动作是开火。还有其他的写作方法吗jqueryif-else位于页面顶部,jquery,scrolltop,Jquery,Scrolltop,我似乎无法让它正常工作,只有一个动作是开火。还有其他的写作方法吗 $(window).on('scroll', function() { var scrollTop = $(this).scrollTop(); if ( scrollTop < 1 ) { $('#nav-logo').transition({ scale: 1.0, y: 0 }); } else { $('#nav-log
$(window).on('scroll', function() {
var scrollTop = $(this).scrollTop();
if ( scrollTop < 1 ) {
$('#nav-logo').transition({ scale: 1.0, y: 0 });
} else {
$('#nav-logo').transition({ scale: 0.5, y: -126 });
}
});
$(窗口).on('scroll',function(){
var scrollTop=$(this.scrollTop();
如果(滚动顶部<1){
$(#nav logo')。转换({scale:1.0,y:0});
}否则{
$(#nav logo')。过渡({比例:0.5,y:-126});
}
});
问题是您的动画彼此重叠。您可以通过以下方法来预防:
是否达到ELSE语句?我的意思是,您的问题是使用transition()还是ELSE语句?您所说的“只有一个操作正在触发”是什么意思?似乎只有ELSE语句正在触发。当我回到页面顶部时,它不会转换回原始大小,即if语句。我不知道这是什么
transition()
方法以及它是如何工作的。如果使用某种CSS转换(如我猜的),您应该重置此转换这里是一个演示原始问题的示例。通过单击并拖动滚动条滚动时,最容易注意到这一点。
var $nav = $('#nav-logo');
var $window = $(window);
var wasTop = true;
$window.on('scroll', function () {
var isTop = !$window.scrollTop();
if (isTop && !wasTop) {
$nav.stop();
$nav.transition({
scale: 1.0,
y: 0
});
wasTop = true;
} else if (!isTop && wasTop) {
$nav.stop();
$nav.transition({
scale: 0.5,
y: -126
});
wasTop = false;
}
});