Как сделать вызов функции jquery через "X" секунд - PullRequest
24 голосов
/ 21 ноября 2011

У меня есть функция 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

Ответы [ 2 ]

95 голосов
/ 21 ноября 2011

Вы можете просто использовать обычный метод setTimeout в JavaScript.

т.е. ...

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

В вашем примере вы можете использовать showStickySuccessToast напрямую.

3 голосов
/ 21 ноября 2011

Если бы вы могли показать реальную страницу, мы, возможно, могли бы помочь вам лучше.

Если вы хотите вызвать кнопку только после загрузки 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>
...