js怎样实现一个这样的效果 想要实现的效果:当点击div1时div1贴在窗口的顶部显示(已经实现

js怎样实现一个这样的效果 想要实现的效果:当点击div1时div1贴在窗口的顶部显示(已经实现),当继续向下滚动滚动条时,div1还是贴在窗口的顶部显示, 代码如下 http://pan.baidu.com/s/1i3kKRtj
<script type="text/javascript">
window.onload=function (){
var lf=document.getElementById("div1");
lf.onclick=function (){
document.body.scrollTop=lf.offsetTop;
}
}
</script>
补充一下代码,继续实现div1当滚动条继续向下时,不会把div1隐藏掉,它还是在贴在页面的顶部,当滚动条返回到它原来的刚打开网页的位置时,div1也回到它正常刚打开网页的位置

很简单的啦,加个onscroll事件的啦

<script type="text/javascript">
var lf=document.getElementById("div1");
window.onload=function (){
lf.onclick=function (){
document.body.scrollTop=lf.offsetTop;
}
}
 window.onscroll=function (){ 
document.body.scrollTop=lf.offsetTop;
};
</script>追问

不行啊

追答<script type="text/javascript">
var lf=document.getElementById("div1");
window.onload=function (){
lf.onclick=function (){
document.body.scrollTop=lf.offsetTop;
}
}
 window.onscroll=function (e){ 
    if (parseInt(lf.offsetTop)<document.body.scrollTop) {
     document.body.scrollTop=lf.offsetTop;
    }
};
</script>追问

还差一点,现在滚动条向下滚动时div1是贴顶了,但是页面往后的内容也滚不下去了,看不了了 ï¼Œæˆ‘要问的其实在这里,http://gaopeng.qq.com点开后再点开其中一件商品,再点这里

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-28
需要监听这个BODY的滚动事件,然后动态的去改变div1的top值追问


window.onload=function (){
var lf=document.getElementById("div1");
lf.onclick=function (){
document.body.scrollTop=lf.offsetTop;
}
}

追答

你这是点击DIV时的事件吧?上面那个给你写了代码的,好像是赋值搞反了吧?
你在滚动时,需要把div1的top改变,而不是把div1的top值给BODY吧

追问

没反,我要问的其实在这里,http://gaopeng.qq.com点开后再点开其中一件商品,再点这里

第2个回答  2014-01-28
设置位置为绝对的 然后浮于页面上覆盖,设置top值为0;追问

请看完整代码