用jquery做了个下拉菜单[仿yahoo]

看见了yahoo邮箱里有个小下拉菜单很好看,猪做了一个。

http://files.cnblogs.com/pengpengsay/jquery-navi.rar

里面有一个小bug,忘高手指出。。就是菜单出现后,点击其他地方,菜单消失,但是需要点击2次,
主要是由于代码是 <a href="http://www.zzcn.net/">导航<span id="dh1"></span></a>
是由于这种结构造成的,但是我不能改这种结构,要不效果就不对了哦。。

-------------------------------------------------------------------------------

经过刚刚的奋斗。。发现刚才的代码里面有bug,特此修复bug,为了留念上面的错误,特此不予删除(下面的给出的代码也是有bug的代码,但是彭彭这里就不删除了。)

点击这里下载正确的下拉菜单代码 http://files.cnblogs.com/pengpengsay/jquery-navi2.rar

我已经把代码放到我的网站上了。。 你可以直接看效果 点击这里

下面是偶写的一部分代码(以下代码为存在bug的代码,正确的请下载navi2的)。。呵呵。。jquery 用的是1.2.6

$(document).ready(function(){
  
var d1x_click = false;
  
  $(
"body").not($("#d1x")).click(function(){
  
if(!d1x_click)
  {
      $(
"#d1x").css("display","none");
  }
  d1x_click 
= false;
  
//alert("b");
  
  })
  $(
"#d1x").click(function(){
  d1x_click 
= true;
  });
  $(
"#dh1").click(function(){
      
//alert("c");
      var offset = $("#d1").offset();
    
var d1x = $("#d1x");
    
if(d1x.css("display"== "block")
    {
        d1x.css(
"display","none");
    }
    
else
    {
        d1x.css(
"display","block");
    }
    d1x.css(
"position","absolute");
    d1x.css(
"left",offset.left);
    d1x.css(
"top",offset.top+$("#d1").height()+3);
    d1x_click 
= true;
    
return false;
  });
}); 
---------------------------------------------
彭成刚微博:http://t.sina.com.cn/pengchenggang/
彭彭新浪博客:http://blog.sina.com.cn/zzcn/
彭彭技术博客:http://pengpengsay.cnblogs.com/
彭彭百度博客:http://hi.baidu.com/pengpengsay/
彭彭照片相册:http://zzcn.yupoo.com/

posted on 2008-06-25 11:32 彭成刚 阅读(2210) 评论(8) 编辑 收藏

评论

#1楼[楼主]  回复 引用 查看   

由于页面比较大,load时间比较长。。于是找原因为什么要等到页面都下完才执行js啊。。找啊找啊。。最后终于找到了。。原来是jquery影响了我。。
$(document).ready 原来是他 弄得。。去了就ok了。。哈哈。。
2008-06-25 13:27 | 彭成刚      

#2楼  回复 引用 查看   

恭喜 彭彭 最新 出栏的 效果。

学到 不少 东西。
2008-06-25 14:38 | shengnet      

#3楼  回复 引用   

你这个还有一个BUG,就是我连点会直接刷新,而我并未做选择
2008-12-10 16:34 | 异常爱[未注册用户]

#4楼  回复 引用   

不好意思,发现是自己没仔细看代码..没问题哦
2008-12-10 16:37 | 异常爱[未注册用户]

#5楼  回复 引用   

里面的技巧好多,谢谢分享。。。
2009-04-21 20:28 | niming[未注册用户]

#6楼  回复 引用   

怎么演示链接到其他网站去了?
2009-06-14 13:02 | bolo[未注册用户]

#7楼[楼主]  回复 引用 查看   

@bolo
那个是楼主的站~~原来效果在上面。。后来改版了。。就删了那个效果了~~自己本机调试吧。。吼吼~~
2009-06-16 14:38 | 彭成刚      

#8楼  回复 引用   

半夜睡不着觉~起来写写代码,就搜到这里了!!
谢了,不错,很实用
2009-09-08 02:58 | HJin_me[未注册用户]