搞了半天菜单,原来是效果在闹事

本文记录了一次使用YUI菜单组件遇到的问题及其解决过程。作者发现菜单加载后无法正常显示,在逐步排查并简化代码后,问题得到解决。文章详细介绍了引入YUI菜单所需的CSS和JS文件,以及如何通过JavaScript生成并显示菜单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上了一个yui的菜单,奇怪的是显示不出来,然后一个一个地简化,把效果去掉就ok了,真是的。

firebug查看一下,如果加入效果,只是把class加上一个visible,但是没有把visibility设为visible,而且也不出错,查看yahoo logger,没有抛出错误,就是不设了。

估计是有冲突啊。试着把rails里的缺省js去掉几个,只省下prototype.js,不过还是不行,prototype暂时不能去除,就先算了。

生成菜单很容易:
先引用

xml 代码
 
  1. <link rel="stylesheet" type="text/css" href="/yui/fonts/fonts-min.css" />  
  2. <link rel="stylesheet" type="text/css" href="/yui/menu/assets/skins/sam/menu.css" />  
  3. <script type="text/javascript" src="/yui/yahoo-dom-event/yahoo-dom-event.js"></script>  
  4. <script type="text/javascript" src="/yui/container/container_core.js"></script>  
  5. <script type="text/javascript" src="/yui/menu/menu-min.js"></script>  

再放个div,用来放菜单,随便放就行了。
xml 代码
 
  1. <div id="rendertarget"></div>        

js 里生成菜单

js 代码
 
  1. YAHOO.util.Event.onDOMReady(function () {  
  2.   
  3. var oMenu;  
  4.     oMenu = new YAHOO.widget.Menu("basicmenu", {  
  5.           hidedelay: 750, xy:[20,100]  
  6.     });  
  7.   
  8.     var itemDatas=[  
  9.           { text: 'show origin', checked: true,onclick:{fn:set_show_origin} },  
  10.           { text: 'show translate', checked: true,onclick:{fn:set_show_translate} }  
  11.         ];  
  12.     oMenu.addItems(itemDatas);  
  13.     oMenu.showEvent.subscribe(function () {this.focus();});  
  14.       
  15.     oMenu.render("rendertarget"); 
  16. YAHOO.util.Event.addListener("menu_options", "click",oMenu.show, null, oMenu); 
  17. }  

这样就点击menu_options对象,弹出菜单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值