1
我有一個可滾動的div標記(溢出)。現在我想用鼠標點擊並按住並移動以上下導航(如Adobe Reader中的手形光標功能)。使用鼠標單擊按鈕導航的JavaScript?
是否有任何js腳本來實現這一目標? 具體而言,我使用jQuery,任何jQuery插件來實現這一目標?
我有一個可滾動的div標記(溢出)。現在我想用鼠標點擊並按住並移動以上下導航(如Adobe Reader中的手形光標功能)。使用鼠標單擊按鈕導航的JavaScript?
是否有任何js腳本來實現這一目標? 具體而言,我使用jQuery,任何jQuery插件來實現這一目標?
不知道有任何插件,但是這不應該是太難:
$(function() {
$('#foo').mousedown(function(e) {
var start = e.pageY;
var startPos = $(this).scrollTop();
var el = $(this);
$().mousemove(function(e) {
var offset = start - e.pageY;
el.scrollTop(startPos + offset);
return false;
});
$().one('mouseup', function(e) {
$().unbind();
});
// Only if you want to prevent text selection
return false;
});
});
工作示例可以在這裏找到:
大。正是我在找什麼。非常感謝! – huy 2010-03-22 23:23:25
現在嘗試在#foo(更大的z-index)之上放置另一個div盒時會出現另一個問題。該代碼也適用於該div框。你知道如何刪除它嗎? – huy 2010-03-23 09:42:32
您必須停止嵌套元素的事件傳播 - 當您單擊嵌套元素時,mousedown事件會傳播回'#foo'元素。解決這個問題的簡單方法是使用'$('#foo *')。click(function(){return false;});'。這段代碼會停止'#foo'的所有子節點的事件傳播。這可能不是所有情況下都需要的,但應該適合你。 – 2010-03-23 11:23:09