2017-02-10 44 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好吧 - FYI 88KB并不是很重。 –

1

老实说,我真的不能告诉你想要做什么,但鉴于你的回应@计量单位,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)"; 
    } 

}) 

所以,这是很简单的,我把我的头什么都没有。

非常感谢回答我!

享受你的周末

相关问题