2012-07-02 31 views
0

有什麼方法可以找到光標位於具有窗口滾動功能的HTML元素的頂部。通過窗口滾動查找光標位置

編輯:我有打電話給下面的腳本暫停窗口滾動功能,如果光標在一個div的頂部:

document.addEventListener('DOMMouseScroll', function(e){ 
    console.log(e); 
    e.stopPropagation(); 
    e.preventDefault(); 
    e.cancelBubble = false; 
    return false; 
}, false); 
+0

你不需要在這個故事的窗口滾動功能。只需一個懸停功能 –

+0

實際上你想要什麼?光標位置?或者當光標放在元素上時懸停效果? – Talha

+0

如果光標位於元素的頂部,我需要暫停窗口滾動功能。這可能嗎? – aneeshraj

回答

1

如果你說你要防止滾動的存在的,如果鼠標光標(懸停)在特定元件再取你提供的功能和添加條件,使得DOMMouseScroll事件只有當標誌沒有被設置取消:

var allowScroll = true; 

$("div.noscroll").hover(function() { 
    allowScroll = false; 
}, function() { 
    allowScroll = true; 
}); 

document.addEventListener('DOMMouseScroll', function(e) { 
    if (!allowScroll) { 
     console.log(e); 
     e.stopPropagation(); 
     e.preventDefault(); 
     e.cancelBubble = false; 
     return false; 
    } 
}, false); 

演示:http://jsfiddle.net/WSQbp/

鑑於你用「jquery」標記了你的問題,我用jQuery來設置管理標誌的懸停處理程序。您可以通過使用jQuery設置你的DOMMouseScroll處理程序進一步簡化代碼:

$(document).on('DOMMouseScroll', function() { 
    if (!allowScroll) 
     return false; 
}); 

演示:http://jsfiddle.net/WSQbp/1/

+0

很好nnnnnn ..它解決.. tnx :) – aneeshraj