首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请教小弟我做的这个按钮为什么需要点击两次才能激活呢

2012-08-08 
请问我做的这个按钮为什么需要点击两次才能激活呢CSS code#smile_bg{margin:0 padding:0 background:url

请问我做的这个按钮为什么需要点击两次才能激活呢

CSS code
#smile_bg{margin:0; padding:0; background:url(images/smile_bg.gif) no-repeat;width:435px; height:304px; margin-top:-5px; display:none;}

JScript code
function smile_Swich() {        if (GetByID('smile_bg').style.display == 'none') {        GetByID('smile_bg').style.display = 'block';    } else {        GetByID('smile_bg').style.display = 'none';    }}function GetByID(str) {    var v = document.getElementById(str);    return v;}

HTML code
<img src="images/111.gif" onclick="smile_Swich()" />

我点击按钮两次才能把我想要显示的元素显示出来,以后点击就可以点击一次激活显示和隐藏了,为什么呢?

[解决办法]
从代码上看是没有任何问题的。。。楼主。。。

我个人觉得问题应该是出在了图片的预加载的问题上了。。。

你这样,将css里面的display:none去掉。。。在你的window.onload里面再将其隐藏试试,应该就可以了的。。。
[解决办法]
GetByID('smile_bg').style.display获取不到样式设置的none的
所以第一次获取到的是null,和=='none'对比不对,执行了GetByID('smile_bg').style.display = 'none';

第二次由于第一次设置了none,所以对比成功,执行了block语句

JScript code
if (GetByID('smile_bg').style.display != 'block') {/////改成这样判断就好了        GetByID('smile_bg').style.display = 'block';    } else {        GetByID('smile_bg').style.display = 'none';    } 

热点排行
Bad Request.