对YUI3 show方法实现机制的探讨

本文探讨了YUI3框架中Node.show()方法的工作原理及其局限性,特别是在display属性为none的情况下的表现,并提出了一种改进方案来确保该方法在所有浏览器环境下都能正确显示元素。

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

今天使用YUI3弄了半天的node.show(),发现它不起效果,然后也不报错。API文档中是这么写的:void show ( name , config , callback )

后来想了想还是直接看源代码吧,然后发现下面这段话:


_show: function() {
        this.setStyle('display', '');
 
    }

首先说一下这个方法的缺陷:1)对于已经在样式里写好了display:none的情况下,根本不起效果;

说完缺陷就必须说说它的优点,优点就是对于想IE系列,特别是ie6的表格来说,如果直接设置:this.setStyle('display','block');那么就不符合要求了。

所以对于这段话,我认为只好加一个判断:

this.setStyle('display',this.getComputerStyle('display') == 'none'||this.getCurrentStyle('display') == 'none' ? block' : '');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值