在这个例子中如何使用Jquery调用函数?

时间:2012-08-30 17:00:01

标签: javascript jquery jquery-ui

如何召回一个功能并拥有 在这个例子中点击带有Jquery的“取消”按钮后,对话框会不断回来? 我相信这很容易,但仍然在这里学习一些基础知识。 感谢

function definitelyClose() {
    window.location = 'http://www.google.com'
};
var autoCloseTimer;
var timeoutObject;
var timePeriod = 5000;
var warnPeriod = 10000;
$(document).ready(function() {
    $('#proba').dialog({
        autoOpen: false
    });
    setTimeout(function() {
        $('#proba').attr('title', 'Warning').text('Sesion will expire').dialog('open');
        $('#proba').dialog({
            buttons: {
                'Cancel': function() {
                    $(this).dialog('close');
                    clearTimeout(autoCloseTimer);
                }
            }
        });
        autoCloseTimer = setTimeout('definitelyClose()', warnPeriod);
    }, timePeriod);
});​

1 个答案:

答案 0 :(得分:1)

您需要创建名称为

的函数
  1. 显示初始警告和
  2. 在点击取消按钮时调用。
  3. 所以你会得到这样的东西:

    $(document).ready(function() {
      var autoCloseTimer;
      var timePeriod = 5000;
      var warnPeriod = 10000;
    
      function definitelyClose() {
        window.location = 'http://www.google.com'
      };
    
      // You need a function with a name
      function showWarning() {
        $('#proba').attr('title', 'Warning')
                   .text('Sesion will expire')
                   .dialog('open');
        $('#proba').dialog({
          buttons: {
            'Cancel': function() {
              $(this).dialog('close');
              clearTimeout(autoCloseTimer);
              // Now you can recall the function
              setTimeout(showWarning, timePeriod);
            }
          }
        });
        autoCloseTimer = setTimeout(definitelyClose, warnPeriod);
      }
    
      $('#proba').dialog({ autoOpen: false });
      setTimeout(showWarning, timePeriod);
    });​