2017-02-10 3 views
0

ユーザーがスクロールするときに、いくつかの要素(divなど)を表示したいとします。 私はscrollTopを見ていますが、うまくいきません。確かに私はひどく使います。 JQueryを使わずにヘルプが見つかりません。私はJQueryを使いたくありません。一部の要素をスクロール表示する

私はこれ試してみてください。

var scroll = document.body.scrollTop; 
var divLis = document.querySelectorAll("div"); 

for(let i = 0; i < divLis.length; i++) { 
    if(scroll === divLis[i]) { 
     divLis[i].style.transform = "translateX(0)"; 
     divLis[i].style.transition = "2s"; 
    } 
} 
+0

あなたの週末をお楽しみください! –

答えて

0

編集:申し訳ありませんが、私はちょうどあなたがjQueryのを望んでいなかったが、私はちょうどあなたがあなたの心を変更する場合には、ここでこれを残しておきますことに気づきました。関数が実行されたりするたびに、ウィンドウまたはビューポートのスクロールアップ発火するイベントハンドラです

$(window).scroll(function() { 
    // show the div(s) 
}); 

+0

私はあなたと同じですが、重いファイルです。そして、私は純粋なJavaScriptでいくつかの解決策を探します。 – KolaCaine

+1

@ KolaCaine Okay - FYI 88KBは本当に重いものではありません。 –

1

私は正直に本当にあなたが何をしようとして伝えることはできませんが、UOM-pgregorioの答え@にあなたの応答を考えると、私はあなただけの純粋なJSスクロールリスナーを望むかもしれません推測している:

window.addEventListener('scroll', function() {});

0

よろしくお願いします。

* { 
     margin: 0; 
     padding: 0; 
     border: 0; 
    } 
    body { 
     height: 200vh; 
    } 
    .left { 
     width: 300px; 
     height: 300px; 
     background-color: red; 
     position: absolute; 
     top: 150%; 
     transform: translateX(-300px); 
     transition: 5s; 
    } 
    // HTML : 

    <div class="left"></div> 

    // JS 

     var divLis = document.querySelector(".left"); 

window.addEventListener("scroll", function (e) { 

    if(window.pageYOffset > 500) { 
     console.log(window.pageYOffset) 
     divLis.style.transform = "translateX(0)"; 
    } 

}) 

だから、それは非常に簡単だと私は何のために私の頭を取った:

は、私はこれを試してみたかったです。

私にお答えいただきありがとうございます!

は正確にあなたが達成したいん何

関連する問題