我发现了另一个类似的问题,但几乎所有问题都适用于高级内容,例如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)
答案 0 :(得分:4)
第一次,d
由CSS设置; JavaScript没有看到样式属性(请参阅Get the Rendered Style)。它最初看到o.style.display === ""
(不是'无')。因此,第一次单击将其设置为none,第二次将其设置为阻止。
将其更改为:
o.style.display = (o.style.display === 'block') ? 'none':'block';
答案 1 :(得分:1)
因为第一次没有设置display属性因此它不等于“none”
答案 2 :(得分:0)
嗯,上面的代码没有任何问题。也许某些东西与你的风格声明有关,比如将它设置为在你可能不想要的开始时阻止。这是我为测试代码而制作的一个简单的JSFiddle:http://jsfiddle.net/77DMd/1/
希望这有帮助。