這就是我想出了:
http://jsfiddle.net/5nTpS/
我增加了一些新的變量來跟蹤從左邊多遠或右側邊緣的光標,滾動的方向,以及如何快速滾動:
var scrollSpeed = 0;
var hotEdgeWidth = 200;
var animationSign = "-";
而且修改你的鼠標移動功能,使得它的作品了,如果光標足夠接近向左或你希望他們在滾動的方向,你需要的圖片滾動容器,權,和怎麼樣快你希望他們滾動:
$(container).mousemove(function(e) {
if(e.pageX > $(this).width() - hotEdgeWidth){
scrollSpeed = hotEdgeWidth - ($(this).width() - e.pageX);
animationSign = "-";
}
else if(e.pageX < hotEdgeWidth){
scrollSpeed = hotEdgeWidth - e.pageX;
animationSign = "+";
}
else{
scrollSpeed = 0;
}
scrollAnimation();
}).mouseout(function(e){
scrollSpeed = 0;
});
然後,更改scrollAnimation使用.animate功能,並添加一個功能齊全,一旦動畫完成後再次調用scrollAnimation功能。如果沒有動畫已經發生以防止反饋循環發生,它只會動畫:
function scrollAnimation(){
if (!$('li').is(':animated')){
$("li").animate({
"left": animationSign + "="+scrollSpeed+"px"
},
500,
function(){
scrollAnimation();
});
}
}