我遇到了自动滚动到底部的问题。它以不同的速度工作,我需要它以正常速度工作,它在某些区域匆忙,在其他区域减速。你看到了这个bug吗?这在Google Chrome中非常明显,但您也可以使用计时器进行检查。
$(document).ready(
function(){
$("#stop").click(function () {
$("#play").css({
"opacity":"0.25",
"pointer-events":"auto",
"cursor":"pointer"
});
$("#stop").css({
"opacity":"1",
"pointer-events":"none"
});
$("html, body").stop();
});
$("#play").click(function () {
var scrolli= $(document).height()- $(window).height()
$("#stop").css({
"opacity":"0.25",
"pointer-events":"auto",
"cursor":"pointer"
});
$("#play").css({
"opacity":"1",
"pointer-events":"none"
});
$("html, body").animate({ scrollTop: scrolli },180000);
});
})
#dalealplay{
position:fixed; top:30px; color:white; font-size:12px; right:50px; line-height:5px; z-index:200; background:black; text-align:center; padding:5px;
}
#play{
opacity:0.25;
cursor:pointer;
}
#stop{
cursor:auto;
pointer-events:none;
}
.metro{
width:100px;
text-align:right;
color:red;
height:100px;
background:rgba(0,255,201,0.10);
z-index:0;
position:relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dalealplay">
<span id="play">PLAY</span>/<span id="stop">STOP</span>
</div>
<div class="metro">
_0
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
<div class="metro">
_100
</div>
<div class="metro">
_200
</div>
<div class="metro">
_300
</div>
<div class="metro">
_400
</div>
<div class="metro">
_500
</div>
<div class="metro">
_600
</div>
<div class="metro">
_700
</div>
<div class="metro">
_800
</div>
<div class="metro">
_900
</div>
<div class="metro">
_1000
</div>
答案 0 :(得分:0)
默认的jquery .animate函数使用一个名为&#39; swing&#39;的缓动函数。开始有点慢,获得速度,然后结束更慢。听起来你喜欢使用线性缓动函数。
尝试:
$("html, body").animate({ scrollTop: scrolli },180000, 'linear');