1

この例で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);
});​
4

1 に答える 1

1

する名前の関数を作成する必要があります

  1. 最初の警告を表示し、
  2. キャンセルボタンがクリックされたときに呼び出されます。

したがって、次のようなものが得られます。

$(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);
});​
于 2012-09-02T09:36:43.533 に答える