我的项目中有一个gif图像。当我点击一个按钮时它应该出现,并且在5秒后它应该从屏幕上消失。我尝试使用j查询来执行此操作。但我没有得到输出。我可能出错了?
以下是我到目前为止尝试的代码:
Jquery的:
$(function () {
setTimeout(function () { $("#btnEmail").fadeOut(1500); }, 5000)
$('#btnMail').click(function () {
$('#btnEmail').show();
setTimeout(function () { $("#btnEmail").fadeOut(1500); }, 5000)
})
})
HTML
<asp:LinkButton ID="btnEmail" runat="server" onclick="btnMail_Click" Visible="false">
<asp:Image ID="Image8" imageurl="~/Images/email_animation.gif" runat="server" class="box" /> </asp:LinkButton>
<asp:LinkButton ID="btnMail" runat="server" Text="Send" onclick="btnMail_Click"/>
btnMail_Click (代码背后):
btnMail.Visible = false;
btnEmail.Visible = true;
答案 0 :(得分:4)
当您使用ASP.NET控件时,生成的元素ID将会有所不同。
您应该使用Control.ClientID财产。
获取ASP.NET生成的HTML标记的控件ID。
使用
$(function () {
setTimeout(function () {
$("#<%= btnEmail.ClientID %>").fadeOut(1500);
}, 5000)
$('#<%=btnMail.ClientID %>').click(function () {
$('#<%=btnEmail.ClientID %>').show();
setTimeout(function () {
$("#<%=btnEmail.ClientID %>").fadeOut(1500);
}, 5000)
})
})
答案 1 :(得分:2)
clientId(元素在浏览器上获取的id)有可能与您提到的ID不同。您应该使用ClientId属性来设置控件将在客户端上接收的ID。
<asp:LinkButton ClientID="btnEmail" runat="server" onclick="btnMail_Click" Visible="false">
答案 2 :(得分:1)
您必须提供ClientID
$(document).ready(function(){
$("#<%= btnEmail.ClientID %>").click(function () {
$("#<%=Image8.ClientID %>").show();
setTimeout(function () { $("#<%=Image8.ClientID %>").hide()}, 5000)
})
});
请参考:JSFiddle