我试过这个,没有成功:
JS:
function Hide() {
alert('Hide');
document.getElementById('I').style.visibility = 'none';
}
function show() {
alert('Show');
document.getElementById('I').style.visibility = 'visible';
}
代码背后:
<asp:LinkButton ID="LinkButton1" onmouseover="show()" onmouseout="Hide()" runat="server">Mouse Here</asp:LinkButton>
<asp:Image Visible="false" ImageUrl="~/Images/V.png" ID="I" runat="server" />
我添加了警报只是为了检查这是否激活了该功能,而且它是。
有什么建议吗?
谢谢!
答案 0 :(得分:3)
将visibility
更改为hidden
而不是none
function Hide() {
alert('Hide');
document.getElementById('I').style.visibility = 'hidden';
}
答案 1 :(得分:1)
虽然Munawir's post更正并回答了您的问题,但IMO最好使用display
代替show/hide
元素,以便更有效地实现此目的。
display:none
表示该元素根本不会出现在页面上,不会为其分配空间。
visibility:hidden
该元素不可见,但在页面上为其分配了空间。
示例:
function Hide() {
alert('Hide');
document.getElementById('I').style.display = 'none';
}
function show() {
alert('Show');
document.getElementById('I').style.display = 'block';
}
希望这有帮助。
答案 2 :(得分:0)
您的代码
document.getElementById('I').style.visibility = 'none';
错误应该是
document.getElementById('I').style.visibility = 'hidden';
另外请记住,将元素可见性设置为隐藏将隐藏元素,但仍占据屏幕上的空间,
如果您不希望元素在隐藏时占用空间,则必须使用display :none;
document.getElementById('I').style.display = 'none';
然后你可以使用
使其可见 document.getElementById('I').style.display = 'block';