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