如何在“X”秒后进行jquery函数调用

时间:2011-11-21 18:10:03

标签: jquery function call settimeout

我有一个jquery函数,我需要在iframe中打开网站后调用它。

我正在尝试在iframe中打开一个网页链接,打开它后我需要调用以下函数。 那我该怎么做呢?

这是我的功能:

<script type="text/javascript">
       $(document).ready(function(){
           $("#<%=Button1.ClientID%>").click(function (event) {

            $('#<%=TextBox1.ClientID%>').change(function () {
                $('#various3').attr('href', $(this).val());
            });
            $("#<%=Button2.ClientID%>").click();
        });
      })
    function showStickySuccessToast() {
        $().toastmessage('showToast', {
            text: 'Finished Processing!',
            sticky: false,
            position: 'middle-center',
            type: 'success',
            closeText: '',
            close: function () {

            }
        });
    }

    </script>

这是我在IFrame中打开链接的按钮:

<a id="various3" href="#"><asp:Button ID="Button1" 
runat="server" Text="Button" OnClientClick="Button2_Click"/></a>

实际上这是我所拥有的简单页面:

enter image description here

这就是信息 enter image description here

3 个答案:

答案 0 :(得分:94)

您可以在JavaScript中使用常规的setTimeout方法。

...即

setTimeout( function(){ 
    // Do something after 1 second 
  }  , 1000 );

在您的示例中,您可能希望直接使用showStickySuccessToast

答案 1 :(得分:3)

如果您可以显示实际页面,我们可能会更好地帮助您。

如果您只想在加载iframe后触发按钮,则可能 想检查它是否已加载或使用iframe.onload:

<iframe .... onload='buttonWhatever(); '></iframe>


<script type="text/javascript">

    function buttonWhatever() {
        $("#<%=Button1.ClientID%>").click(function (event) {
            $('#<%=TextBox1.ClientID%>').change(function () {
                $('#various3').attr('href', $(this).val());
            });
            $("#<%=Button2.ClientID%>").click();
        });

        function showStickySuccessToast() {
            $().toastmessage('showToast', {
                text: 'Finished Processing!',
                sticky: false,
                position: 'middle-center',
                type: 'success',
                closeText: '',
                close: function () { }
            });
        }
    }

</script>

答案 2 :(得分:-1)

尝试一下

setTimeout( function(){ 
    // call after 5 second 
  }  , 5000 );