2012-09-10 41 views
1

我曾經跨越大概有以下問題腳本或文章來了:檢測滾動意圖

想象一下,一個頁面是滾動裏面,同時也是滾動的多個元素。當向下滾動頁面時,光標會遇到可滾動的元素,並且它們將獲得焦點。導致必須從該元素中刪除光標,或者在能夠再次滾動整個頁面之前向下滾動該元素。

我看到的演示只關注光標移動後的滾動元素或某種滾動中斷,從而解決了這個問題。因此,當您向下滾動頁面時,您可以不中斷地滾動(懸浮在可滾動元素上)。

有誰知道我在說什麼腳本?

+0

我建議你不要改變這個由用戶期望的行爲! –

+0

@Bondye你發佈(和刪除)的主題是完全不同的問題 – dubbelj

回答

0

如果我明白了,否則讓我知道:如果你想檢測滾動事件,那麼你必須使用從jquery頁面scroll()

嘗試這個例子:

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    div { color:blue; } 
    p { color:green; } 
    span { color:red; display:none; } 
    </style> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 
    <div>Try scrolling the iframe.</div> 
    <p>Paragraph - <span>Scroll happened!</span></p> 
<script> 
    $("p").clone().appendTo(document.body); 
    $("p").clone().appendTo(document.body); 
    $("p").clone().appendTo(document.body); 
    $(window).scroll(function() { 
     $("span").css("display", "inline").fadeOut("slow"); 
    }); 

</script> 

</body> 
</html> 

在這裏看到演示:http://jsfiddle.net/4M7XK/(最小化右下塊的高度)

0

我很抱歉,但我不現在你是指原始文章到,但這裏是想法,我將如何使它工作。

一旦用戶開始滾動。 (例如jQuery中的$(window).scroll(function(){...})),我會放置一個空div來覆蓋從上到下的整個頁面。該元素將高於所有其他可滾動的div,從而阻止它們捕獲滾動事件。它的元素必須在幾毫秒的時間內被移除。

$(window).scroll(function(){ 
var $cover = $('<div style="position: absolute; left: 0px; top: 0px; width: 100%; height: '+ $(document).height() + 'px; z-index: 100000">asdasd</div>') 
$cover.appendTo($("body")); 
setTimeout(function(){ 
    $cover.remove(); 
},200); 
});