2017-04-11 2 views
-1

高さ4600pxのページがあり、スクロール要素にelse文がある場合
スムーズに右または左に移動します。他のブロックが非常に大きい場合は、ブロックします。それは大きくないだ場合、それは他のブロックに行くことができます以下となるようですので、確認せずにあなたがこれを行うことができますブロックコードを減らす方法else

var withAp = document.querySelector('.withAp'); 

window.onscroll = function() { 

    var scrolled = window.pageYOffset || document.documentElement.scrollTop; 

    if (scrolled < 100) { 
    withAp.style.marginRight = '0'; 
    withAp.style.opacity = '0.1'; 
    } 
    if (scrolled > 100 ) { 
    withAp.style.marginRight = '30px'; 
    withAp.style.opacity = '0.2'; 
    } 
    if (scrolled > 200) { 
    withAp.style.marginRight = '50px'; 
    withAp.style.opacity = '0.2'; 
    } 
}; 
+0

これは、はるかに長いもののスニペットですか?現時点では「非常に大きい」とは思われません。 – Phylogenesis

+0

@ Phylogenesisの外観私はちょうどすべてのコードを貼り付けることができません – DuuudeXX8

+0

これはまた、 "elseブロック"ではないので、他にはありません。 'scrolled'が200pxより大きければ、問題に遭遇します。あなたは両方のステートメントを打ちます。 – nurdyguy

答えて

0
var withAp = document.querySelector('.withAp'); 

window.onscroll = function() { 

var scrolled = window.pageYOffset || document.documentElement.scrollTop; 

    if (scrolled > 100 ) { 
    withAp.style.marginRight = '30px'; 
    withAp.style.opacity = '0.2'; 
    } else { 
     withAp.style.marginRight = '0'; 
     withAp.style.opacity = '0.1'; 
    } 
    if (scrolled > 200) { 
    withAp.style.marginRight = '50px'; 
    withAp.style.opacity = '0.2'; 
    } 
}; 

は少ないし、100をスクロールされます。

+0

私はスクロールをチェックせずにこれを行う方法を教えてください – DuuudeXX8

+0

私はあなたがこの条件を必要としないなら、 'else {} { '回答で私のコードを見てください – varto

+0

ありがとう – DuuudeXX8

関連する問題