jquery只在页面处于非活动状态30秒时运行?

时间:2015-02-18 12:21:22

标签: jquery

我有三个同时协同工作的jquery脚本。

我的第一段jquery代码在30秒延迟后运行。这会提示用户说由于不活动,他们将在30秒后退出。

<script>
    $(document).ready(
            function() {
                setInterval(function() {
                    var randomnumber = '<span id="hideMsg"></span>';
                    $('#warning_show').html(
                            '<div id="message_box2"><h23>Warning!</h23><p>Your account has been Inactive for some time. You will be logged out in  ' + randomnumber + ' seconds. <span id="stay_loggedin"><a href="">Click Here</a></span> to stay Logged In.</p></div>'
                                    );
                }, 30000);
            });
</script>

第二段代码倒计时30秒为0.

<script>
     $(document).ready(
            function() {
                setInterval(function() {
    var sec = 30
var timer = setInterval(function() { 
   $('#hideMsg').text(sec--);
   if (sec == -1) {
      $('#hideMsg').fadeOut('fast');
      clearInterval(timer);
   } 
}, 1000);
 }, 29000);
            });
</script>

第三个也是最后一个代码会将用户重定向到我的页面&#39; timeout.php&#39;然后杀死用户的登录会话,然后将它们重定向到登录页面。

<script>
var logoutTimer = window.setTimeout(function() {
  window.location.href = 'include/timeout.php';
}, 60000);

$('#stay_loggedin').click(function() {
   window.clearTimeout(logoutTimer);
});
</script>

我的问题是:如果可能的话,我如何整理我的代码以使其作为一个功能工作,并且我希望此代码仅在页面上检测到的30秒不活动时运行。即没有鼠标移动,如果他们不运行代码则不点击。

此时代码将每30秒运行一次,无论用户是否点击了div等。我只希望它在没有鼠标移动或点击页面30秒时运行。我希望有人可以提供帮助,因为我是Jquery的新手。先感谢您。

0 个答案:

没有答案