这是我现在已经使用了很多年的东西,突然间我得到了这些奇怪的行为,也许有人知道原因是什么?这是我的HTML:
<div class="tooltip" id="tooltip"></div>
<input type="button" name="hide" value="hide" onclick="hide('tooltip');" />
<input type="button" name="show" value="show" onclick="show('tooltip');" />
以下是HTML代码下面的JavaScript:
<script type="text/javascript">
function hide(id)
{
document.getElementById(id).style.display = 'none';
}
function show(id)
{
document.getElementById(id).style.display = '';
}
</script>
现在这个代码应该没有任何问题。它应该隐藏或显示每个按钮点击的工具提示。现在奇怪的事情就是当我点击它隐藏的隐藏按钮时,当我点击显示没有任何反应。隐藏仍然是隐藏的。
有没有人有类似的问题?它有解决方法吗?也许是另一种完成同样事情的方法(纯JavaScript)?
更新:将其更改为阻止,仍然无效。我的意思是,为什么它会隐藏我点击的按钮,当没有任何连接时?我顺便使用最新的Firefox。而且我在功能上加了警告同样的事情。这是重写的代码:
function hide(id)
{
alert(id);
document.getElementById(id).style.display = 'none';
}
function show(id)
{
alert(id);
document.getElementById(id).style.display = 'block';
}
答案 0 :(得分:4)
似乎没有任何明显的东西会导致这种情况不正常。我猜测有某种拼写错误,未封闭的标签或功能等。尝试在两个函数中添加alert()
以查看函数是否被正确调用。
修改强> 根据您对该问题的最新编辑,我倾向于在页面上有另一个具有相同ID的项目。请参阅this question。
要尝试的另一件事:在show
函数中,在设置display
属性后,尝试在alert
属性上执行display
以查看它实际上是什么设为:
alert(document.getElementById(id).style.display);
答案 1 :(得分:2)
当我复制粘贴您的代码并将其加载到Google Chrome中时,效果非常好。您可能在原始页面中有拼写错误。
答案 2 :(得分:1)
我认为display =“none”的反面是display =“inline”或display =“block”,具体取决于你希望它出现的方式
答案 3 :(得分:1)
我没有看到您编写的代码有任何特别的错误,但您可能想尝试在show函数上将display设置为'block'。
答案 4 :(得分:1)
我敢打赌啤酒中有两个ID为“工具提示”的元素。
答案 5 :(得分:0)
您需要将显示类型设置回块:
<script type="text/javascript">
function hide(id)
{
document.getElementById(id).style.display = 'none';
}
function show(id)
{
document.getElementById(id).style.display = 'block';
}
</script>
答案 6 :(得分:0)
您可能希望在显示时切换到“阻止”,正如其他人所说的那样。除此之外,如果它默认隐藏,则必须由内联样式隐藏。如果使用放在外部css文件中的代码隐藏它,则无法使用javascript再次显示它。
答案 7 :(得分:0)
检查display='block'
事件 - 也许您的css为课程display='none'
指定.tooltip
?
使用alert()
测试您的代码,或使用一些调试器并在show()
函数中设置断点。
答案 8 :(得分:0)
我认为你的守则正在运作。但你的tooptip DIV中没有任何内容,这就是你觉得DIV没有显示的原因。
只需在你的DIV中写一些东西。
和secod部分,我的意思是点击隐藏按钮自己。 这似乎是不可能的,因为在您的代码中似乎。
答案 9 :(得分:0)
由于您使用的是Firefox,因此您可以查看Firefox的“错误消息控制台”。打开工具并从那里选择它。从这里你可以看到你的JavaScript失败的地方,如果它失败了。
答案 10 :(得分:0)
您可以尝试在功能块的末尾添加分号,就在结束括号之后。
我发现没有它们,我的功能不能正常工作并且有非常不寻常的行为。