请指点一下!javascript新手。

伏地猫 发布于 2012/07/23 16:44
阅读 237
收藏 0
<style>
body { margin:0 auto; width:980px;height:1500px;}
#did { background:#eee;width:980px;height:25px;top:500px; position:absolute;}
#pid {text-align:center;}
</style>
</head>

<body>
<div id="did">
	<div id="pid">bbbbbbb</div>
</div>
</body>
<script>
window.onscroll = function()
{
	var did = document.getElementById("did")
	var pid = document.getElementById("pid")
	var dh = document.getElementById("did").scrollTop
	if(dh>500)
	{
		did.style.top="0";
		did.style.position="fixed";
	}
	else {
		did.style.top="500";
		did.style.position="absolute";
		
	
	}
}
</script>

我要的效果是,滚动条把内容滚动到顶部的时候,就固定,当scrolltop 小于500的时候 又不固定到顶部了。。有点错呢,请指点。

以下是问题补充:

@justjavac:@steven 同学,提问时,把错误情况描述清楚,还有,前端有个特点,就是浏览器,所以,最好说明一下浏览器的版本情况。这样有助于别人帮你解答。 (2012/07/23 17:18)
加载中
0
justjavac
justjavac

非答案。

我给 @steven 提点建议吧。

  1. 说明是什么问题
  2. 说明在哪个浏览器下
最后一条建议,推荐使用库,比如jquery就有很多插件,不要自己发明轮子。当然了,如果是为了研究学习,那很真的鼓励。

0
伏地猫
伏地猫

@justjavac

真心是为了学习,刚刚学js,jquery固然好,但是还是想学习一下原生的代码。

效果就是这种。jquery的,但是我想要原生js的。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
body{ padding:0; margin:0;}
#main{width:800px; height:2000px; margin: 0 auto; background:#9CC; position:relative; }
#other{clear:both; height:128px;}
#box{width:560px; height:45px; background:#39C; margin:0 auto; position:absolute; top:128px;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
 $(function(){ 
  $(window).scroll(function(){
   
   boxY = $('#box').offset().top;
   $("#box").text(boxY);
   yy = $(this).scrollTop();
   xx = $(this).width();
   if ($(this).scrollTop() > 128) {
     
    $('#box').css({"position":"fixed",top:"0px"});
    
   } else {
    
    $('#box').css({"position":"absolute",top:"128px"});
    
   }
   
  })
 
 
 })
</script>
</head>
<body>
<div id="main">
 <div id="other"></div>
 <div id="box"></div>
</div>
</body>
</html>

0
justjavac
justjavac
我刚才调试了下, dh的值总是0。
0
justjavac
justjavac
试试window.pageYOffset, 我在chrome中调试的,这个应该是滚动条的位置。
0
伏地猫
伏地猫
@justjavac 貌似不行的。您也别按照我的思路吧,因为可能不对的。。我只是想问下方法,以便自己学习。
伏地猫
伏地猫
好,谢谢你,不急,我就是看到了,然后想学习一下。
justjavac
justjavac
我要下班了,明天再给你解决吧,急用吗?明天我如果有时间的话,直接给你用原生js写一个吧,给你注释明了,你再研究研究。
0
返回顶部
顶部