我有一個盒子,當您滾動10px時滑動100px,如果滾動小於10px,則滑回默認位置。盒子做動畫,但是,它有一點點延遲。任何人都可以幫我解決這個問題嗎?爲什麼我的jquery在滾動動畫時需要這麼長時間?
HTML
<div id="nest">
<div id="box">
</div>
</div>
CSS
#nest {
width: 95%;
max-width: 1000px;
margin: auto;
background-color: orange;
height: 1000px;
padding-top: 150px
}
#box {
margin: 50px 0px 0px 0px;
width: 100px;
height: 100px;
position:relative;
background-color: green;
}
jQuery的
jQuery(window).scroll(function() {
if (jQuery(this).scrollTop() > 10) {
jQuery('#box').animate({left:'100px'})
} else {
jQuery('#box').animate({left:'0px'})
}
});
我的jsfiddle LINK https://jsfiddle.net/ispykenny/m6ffj83g/1/
感謝爲您的時間提前和幫助!
'.scrollTop()'設置scrollTop。爲了得到它,使用不帶圓括號的'.scrollTop' –
因爲滾動事件處理程序被激發很多次,每次它將一個新的動畫放入隊列中。使用超時解釋滾動事件可能是一種解決方法或出隊fx隊列https://jsfiddle.net/m6ffj83g/2/ –
嘗試並在滾動事件上添加設置超時,否則會檢查每1px滾動 – Webpandit