首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unable to make an Image blink )预期错误

Unable to make an Image blink )预期错误
EN

Stack Overflow用户
提问于 2011-12-08 03:46:46
回答 3查看 884关注 0票数 0

我正在尝试使图像闪烁,这是我在sharepoint上的web部件的一部分。

代码语言:javascript
复制
<asp:ImageButton ID="imgbtn1" onclick="imgbtn1_Click" ImageUrl="~/xxxxx.gif" runat="server" onload="Javascript:return blink();" />

function blink() {
    var e = document.getElementById("imgbtn1");
    e.style.visibility = (e.style.visibility == 'visible') ? 'hidden' : 'visible';
    setTimeout("blink();", 500);
}

每当我试图用图片加载页面时,我得到)预期的错误。我的语法有问题吗?请让我知道。

EN

回答 3

Stack Overflow用户

发布于 2011-12-08 03:50:07

使用OnClientClick而不是OnClickOnClick适用于服务器端:

我认为这应该行得通:

代码语言:javascript
复制
<asp:ImageButton ID="imgbtn1" OnClientClick="blink(); return false;" ImageUrl="~/xxxxx.gif" runat="server" />

function blink() {
    var e = document.getElementById("<%=imgbtn1.ClientID%>");
    e.style.visibility = (e.style.visibility == 'visible') ? 'hidden' : 'visible';
    setTimeout("blink();", 500);
}

请注意,我如何更改了获取imgBtn引用的部分。您需要使用<%=imgBtn.ClientID%>

编辑

显然我误解了你OnClick的目的

这样就可以了:

代码语言:javascript
复制
<asp:ImageButton ID="imgbtn1" OnClick="imgbtn1_Click" ImageUrl="~/xxxxx.gif" runat="server"/>

window.onload=blink;
function blink() {
    var e = document.getElementById("<%=imgbtn1.ClientID%>");
    e.style.visibility = (e.style.visibility == 'visible') ? 'hidden' : 'visible';
    setTimeout("blink();", 500);
}

如果你认为做window.onload=blink是件大事,那么在Page_Load上做这件事

代码语言:javascript
复制
Page_Load()
{
   imgBtn.Attributes.Add("onload","blink();");
}
票数 1
EN

Stack Overflow用户

发布于 2011-12-08 04:28:50

不能使用<asp:ImageButton />OnLoad属性执行JavaScript,因为它用于为控件的Load事件设置服务器端事件处理程序。以下是一种解决方法:

在您的服务器端Page_Load处理程序中:

代码语言:javascript
复制
imgbtn1.Attributes["onload"] = "blink()";
票数 0
EN

Stack Overflow用户

发布于 2011-12-08 04:43:47

看看这个

http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

http://forums.asp.net/t/1038225.aspx/1

http://msdn.microsoft.com/en-us/library/aa479011.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx

始终使用

代码语言:javascript
复制
    "<%=id.ClientID%>" 

当您在JavaScript中使用getelementbyid时,如果您正在组合asp和JavaScript,因为asp将在运行时更改id,因此服务器元素id将不同,并且您期望的客户端id也将不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8421537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档