[英]JavaScript onClick work only after second click
我找到了另一个类似的问题,但几乎所有问题都适用于Android开发等高级内容。 我想,我的问题很简单。 我有这两个代码:
function toggle(d)
{
var o=document.getElementById(d);
o.style.display=(o.style.display=='none')?'block':'none';
}
在另一个文件中,我得到了:
<a href="javascript:;" onmouseover="toggle('maisinfo');">More Info </a>
当我点击鼠标悬停(第二个代码)时,它只是在第二次尝试后工作。
谁知道问题出在哪里?
Obs。:第一个代码在header.php中,第二个代码在single.php(WORDPRESS)上
第一次, d
由CSS设置; JavaScript没有看到样式属性(请参阅获取渲染样式 )。 它最初看到o.style.display === ""
(不是'none')。 因此,第一次单击将其设置为none,第二次单击将其设置为block。
将其更改为:
o.style.display = (o.style.display === 'block') ? 'none':'block';
因为第一次没有设置显示属性因此它不等于“无”
好吧,上面的代码没有任何问题。 也许某些东西与你的风格声明有关,比如将它设置为在你可能不想要的开始时阻止。 这是我为测试代码而编写的一个简单的JSFiddle: http : //jsfiddle.net/77DMd/1/
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.