2016-11-27 7 views
0

私はページをさらにスクロールすると画像を3回動的に変更するいくつかのJqueryコードについて助けになりました。下のコードはそのまま動作しますが、異なるスクリーンには異なる解像度があるため、ピクセルに頼るのは良いことではないことがわかっています。スクロールピクセルの代わりにスクロールパーセンテージで画像を変更してください

遷移がすべての上に正確に同じに機能するように、したがって、私は...もっとのようなものに...

(pos > 2900 && pos < 3900)

を変更する

(scrollPercent > 25% && scrollPercent < 35%)

が欲しいです画面。

window.onload = function(){ 
$("#package1").fadeIn(500); 
$(document).scroll(function() { 
    var pos = $(document).scrollTop(); 
    if (pos < 2900) { 
    hideAll("package1"); 
    $("#package1").fadeIn(500); 
    } 
    if (pos > 2900 && pos < 3900) { 
    hideAll("package2"); 
    $("#package2").fadeIn(500); 
    } 
    if (pos > 3900 && pos < 5000) { 
    hideAll("package3"); 
    $("#package3").fadeIn(500); 
    } 
}); 

function hideAll(exceptMe) { 
    $(".package").each(function(i) { 
    if ($(this).attr("id") == exceptMe) return; 
    $(this).fadeOut(1000); 
    }); 
}} 

アイデアをお持ちの方は?参考のため

、私の作業中のページ:http://www.johnmorganstudios.se/client-sevn/

答えて

0

私はこの瞬間、あなたのためにお勧めできるもののようになります。

var h =document.body.clientHeight; 
var i=h/2; 
window.scrollBy(0, i); 

注:/250%/5手段20%などを意味し、 。

var h=document.body.clientHeight; 
var i=h/4, o=h/2.85; // 25% as you said. and o which is gonna be 35% 

window.onload = function(){ 
$("#package1").fadeIn(500); 
$(document).scroll(function() { 
    var pos = $(document).scrollTop(); 
    if (pos < i) { 
    hideAll("package1"); 
    $("#package1").fadeIn(500); 
} 
    if (pos > i && pos < o) { 
    hideAll("package2"); 
    $("#package2").fadeIn(500); 
    } 
    if (pos > o && pos < 5000) { 
    hideAll("package3"); 
    $("#package3").fadeIn(500); 
    } 
}); 

function hideAll(exceptMe) { 
    $(".package").each(function(i) { 
    if ($(this).attr("id") == exceptMe) return; 
    $(this).fadeOut(1000); 
    }); 
}} 

注:

ですから、ケースには次のようになります私は35%25%と3900にすべての2900を交換しました。

幸運:)

+0

おはよう、ありがとうございました!関数が正しく動作するためには、自分のコードにどのように記述すればよいでしょうか? –

+0

@morganhassel私は自分の答えを更新しました変更を見て、もしうまくいけば答えられたボタンをクリックしてください。 –

+0

あなたの詳細な説明をありがとう@ mr-jorden!私があなたの答えを試すことができるようになる前に、私はこのトリックを行うために縫い合わせた別の解決策を見つけました:http://iwearshorts.com/blog/measuring-user-scroll-with-jquery/ –

関連する問題