2015-05-09 87 views
0

當用戶滾動X像素時,我有一個網頁會觸發某些事件(特別是淡入/出一些元素)。滾動事件:在不同分辨率下的相同行爲

一切工作正常1920x1080p分辨率或像風景分辨率(罰款在iPhone 5景觀爲例)。問題在於較大的分辨率或垂直分辨率,因爲內容已經可用而不滾動,因此事件不會被觸發。

如何在所有解決方案中獲得一致的行爲? 有沒有讓我不使用媒體查詢的方法?

這裏的滾動時,在1920x1080像素的射擊事件的視頻: https://www.youtube.com/watch?v=Mtuy1E5JPew

而這裏的網頁的link

下面是腳本的一個例子基於用戶多少滾動到淡入/淡出元素:

var $window = $(window); 
var $logopiano = $('#logopiano'); 

function showHideLogo() { 
    if($window.scrollTop() > 910) { 
     $logopiano.fadeIn("slow", function() { 
     }); 
    } else { 
     $logopiano.fadeOut("slow", function() { 
     }); 
    } 
} 

showHideLogo(); 
$window.scroll(showHideLogo); 
+0

發佈同一個問題的重複是一個不好的做法,將你遇到的問題代碼添加到你的問題中[任意一個]。你會更有可能得到答案。 – BIW

+1

這不是同一個問題。這解決了jQuery腳本在滾動時淡入/淡出事件以及如何正確處理不同的分辨率。另一個解決B/W圖像應該如何移動(固定位置,但下面的內容應該在滾動時覆蓋它)。 – MultiformeIngegno

+0

所有人都沒問題,我的不好。 – BIW

回答

1

只是觸發滾動處理程序開頭。

$window.scroll(showHideLogo).trigger('scroll'); 

更新,轉念一想,既然你測試滾動位置,而不是你想要的元素(結合滾動處理後右),這是不行的。

嘗試檢查,如果你到達底部

function showHideLogo() { 
    var availableScroll = $(document).height() - $window.height(), 
     scrollTop = $window.scrollTop(); 

    if(scrollTop > 910 || scrollTop == availableScroll) { 
     $logopiano.fadeIn("slow", function() { 
     }); 
    } else { 
     $logopiano.fadeOut("slow", function() { 
     }); 
    } 
} 

,但你必須手動確保元素對齊,因爲我看到你希望把它在一個特定的地方位置)

+0

現在分辨率更高的元素默認顯示爲: https://www.dropbox.com/s/j25mssehv542lsf /Screenshot%202015-05-10%2002.19.18.png?dl=0 下面是一個生動的例子:http://ffio.it/longobardi/index4.html – MultiformeIngegno

+0

不應該他們?沒有滾動發生。所以它應該直接出現.. –

+0

是的,也許這是更簡單的解決方案。在移動設備上,我可以使所有元素默認爲可見簡化我的生活:)。有沒有一種方法來持續定位盲文?因爲現在我正在使用http:// pastebin。com/XD6tteM6「停止」位置:固定在某個px上,但現在更大(但不是太大以至於不必滾動)分辨率,它不在我想要的空間中。 – MultiformeIngegno