iScroll 4的另一个问题。我已经建立了一个demo in JSFiddle。滚动div直到mousedown上的最后一个div
我想滚动mousedown
上的div
。它应滚动到结尾:
- 连续;
- 没有任何中断;具有静态速度的
- ;
直到它到达最后的div
,或者我在中间做了一个mouseup
。
有没有可能做到这一点?
iScroll 4的另一个问题。我已经建立了一个demo in JSFiddle。滚动div直到mousedown上的最后一个div
我想滚动mousedown
上的div
。它应滚动到结尾:
直到它到达最后的div
,或者我在中间做了一个mouseup
。
有没有可能做到这一点?
检查此琴:http://jsfiddle.net/z2YWZ/2/
还有一个问题。到达最后时它不会停止。 iScroll使用CSS translate
来滚动,我找不到一种方法来获取当前的翻译形式。目前正在寻找解决方案。
UPDATE
iScroll有useTransform选项,使用它我们可以问它不使用翻译,而使用CSS left属性滚动。通过这种方式,我们可以轻松识别是否已达到目的(无论哪种方式)。要使用,只需在启动iScroll时设置useTransform: false
即可。
更新2
可以通过这个解决方案: http://jsfiddle.net/ugeU3/3
HTML:
<div id="click">Element to click on</div>
JS:
jQuery("#click").bind('mousedown', function(){
intInterval=setInterval(function(){
myScroll.scrollTo(25, 0, 800, true);
},30);
});
jQuery("#click").bind('mouseup', function(){
intInterval=window.clearInterval(intInterval);
});
您可以更改时间值来实现你的速度 - 偏好。 我希望它有帮助。
那么,即使这一个有我提到的问题我的答案(不停止在最后)。此外,由于鼠标上移由触发元件本身处理,如果用户误将鼠标移开,则在此之后不能停止滚动。 – techfoobar 2012-01-11 14:24:18
我已经修改@techfoobar代码,做这样的事情这两个涡旋汽车无,直到在鼠标按下结束,或缩小移动一个DIV单击。代码片段是:
var scrolling=false;
var scrollTimer=-1;
$('#next').bind('mousedown',function() {
scrolling = true;
scrollTimer = setInterval(function() {
scrollDivRight();
}, 100);
return false;
});
$('#next').bind('mouseup',function() {
scrolling = false;
clearInterval(scrollTimer);
return false;
});
$('#next').bind('mouseout',function() { /*For smoother effect and also prevent if any previous delay (eg. 100ms)*/
scrolling = false;
clearInterval(scrollTimer);
return false;
});
scrollDivRight:function(){
if(!scrolling) return false;
myScroll.scrollTo(177, 0, 400, true);
}
请建议是否有什么更好的,然后这个。当然在他的回答中提到的问题@techfoobar仍然没有解决。
我检查了你做的演示。除了你提到的点之外,它工作得很好,还有一件我注意到的事情是在mousedown它正在做它的工作,但立即点击并离开(单击),有一些事情需要做,以便只有一个div移动或出去。我有一个固定的div宽度。所以你可以看看那个工作一次。这里有一些不寻常的事情发生在单击上。 – user850234 2012-01-12 05:08:28
如果你看看iscroll源代码,你会看到有一个'useTransform'选项,你可以使用它来让它不使用translate,而是使用CSS left属性进行滚动。通过这种方式,我们可以轻松识别是否已达到目的(无论哪种方式)。 – techfoobar 2012-01-12 10:31:49
我尝试了你建议的方法。有没有办法在滚动期间获得iscroll4的移动功能中当前的左侧位置。最后,我们可以得到左边的值,但是在滚动时如何理解滚动器已经到达终点,并且应该停止,直到我们在iscroll的移动函数中获得滚动的左侧值。 – user850234 2012-01-12 11:04:49