我試圖製作一個圖像滑塊,從this site中獲取靈感。如何讓jQuery順利滾動到不斷變化的位置?
我已經得到它的工作,但我無法弄清楚如何使它在位置之間平滑滑動;如果我只是使用jQuery .animate(),那麼它會隨機抽搐,可能試圖與排隊的X位置一起追趕。
如何在滑塊上的點之間平滑地滑動?
HTML:
<div id="slider">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
<img src="http://placekitten.com/100/80">
</div>
CSS:
#slider{
width: 550px;
height:134px;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
#slider img {
border: 1px Solid #282828;
margin: 16px 6px 16px 10px;
padding:0;
}
#slider img:hover{
border: 1px Solid #eee;
}
的jQuery:
$("#slider").mousemove(function(e) {
var sidePadding = 50;
var parentOffset = $(this).offset();
var relX = e.pageX - parentOffset.left;
var scrollX = ((relX - sidePadding)/($(this).width() + sidePadding)) * ($(this).prop('scrollWidth'));
$(this).scrollLeft(scrollX);
});