5秒后自动隐藏图像

时间:2014-05-20 11:16:10

标签: c# javascript jquery asp.net

我的项目中有一个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;

3 个答案:

答案 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">

ClientID on MSDN

答案 2 :(得分:1)

您必须提供ClientID

$(document).ready(function(){
    $("#<%= btnEmail.ClientID %>").click(function () {

        $("#<%=Image8.ClientID %>").show();
        setTimeout(function () { $("#<%=Image8.ClientID %>").hide()}, 5000)
    })
});

请参考:JSFiddle