Этот вопрос может быть глупым для многих здесь. Я делаю липкий div после свитка в чистом JS. Некоторые люди могут советовать сделать это в jQuery, но я не заинтересован в этом. Мне нужно что-то похожее на this. Здесь div движется полностью до вершины, но мне нужно, чтобы он имел верх 60px. Я сделал сценарий, но он не работает. Может ли кто-нибудь помочь мне решить эту проблему?Javascript липкий div после прокрутки
Вот мой код.
HTML
<div id="left"></div>
<div id="right"></div>
CSS
#left{
float:left;
width:100px;
height:200px;
background:yellow;
}
#right{
float:right;
width:100px;
height:1000px;
background:red;
margin-top:200px;
}
JS
window.onscroll = function()
{
var left = document.getElementById("left");
if (left.scrollTop < 60 || self.pageYOffset < 60) {
left.style.position = 'fixed';
left.style.top = '60px';
} else if (left.scrollTop > 60 || self.pageYOffset > 60) {
left.style.position = 'absolute';
left.style.margin-top = '200px';
}
}
Это то, что мне нужно достичь. Левый div должен иметь margin-top:200px
и position:absolute
на загрузке страницы. Когда пользователь прокручивает страницу, слева DIV должен прокручивать и когда она достигает top:60px;
его положение и запас верхом должен измениться position:fixed
и margin-top:60px;
Вот FIDDLE
JavaScript чувствителен к регистру. 'document.getElementByID' неверно. Это должно быть 'document.getElementById'. И у вас есть жулик ',' в конце этой строки. И вы не указали переменную, называемую 'left'. Вероятно, вы использовали строку '' left '' – Ian
См. Http://jsfiddle.net/bud4S/1/ для исправленной версии с исправлениями вышеперечисленного. – mash
все еще не работает – Kishore