#jquery #clearinterval
#jquery #clearinterval
Вопрос:
Я хочу очистить автообновление переменной с помощью события mousedown, но это не сработало.
Загрузить готовый документ
$(document).ready(function() {
$('#posts_db').load('data/posts_db.php');
});
Начальный интервал 60 секунд
var auto_refresh = setInterval(function(){
$('#posts_db<?php echo $id ?>').load('data/posts_db.php');
}, 60000);
нажмите кнопку мыши, чтобы изменить интервал на 1800 секунд (для области комментариев)
// Comment_on Button wechselt von 60 sek auf 30 Min
$('#comment_on<?php echo $id ?>').bind('mousedown touchstart', function () {
$("#comment_on<?php echo $id ?>").stop().fadeOut("fast");
$("#comment_off<?php echo $id ?>").stop().delay(200).fadeIn("fast");
$("#element<?php echo $id ?>").stop().slideDown("slow");
clearInterval(auto_refresh);
// Intervall db load nach 1800 Sekunden während Eingabe
var auto_refresh = setInterval(
function()
{
$('#posts_db').load('data/posts_db.php');
}, 1800000);
});
нажмите кнопку мыши, чтобы изменить интервал обратно на 60 секунд (если пользователь решит не писать никаких комментариев)
// Wenn Kommentar Fenster geschlossen wird Intervall wieder auf 60 Sekunden
$('#comment_off<?php echo $id ?>').bind('mousedown touchstart', function () {
$("#comment_off<?php echo $id ?>").stop().fadeOut("fast");
$("#comment_on<?php echo $id ?>").stop().delay(200).fadeIn("fast");
$("#element<?php echo $id ?>").stop().slideUp("slow");
clearInterval(auto_refresh);
// Intervall db load nach 60 Sekunden
var auto_refresh = setInterval(
function()
{
$('#posts_db').load('data/posts_db.php');
}, 60000);
});
работает, чтобы изменить значение auto_refresh на 1800 секунд, но вернуться к 60 секундам не получилось.
Комментарии:
1. Инициализируйте
var auto_refresh
глобально или вне функции.
Ответ №1:
Проблема в том, что вы продолжаете создавать auto_refresh в локальных областях. объявите auto_refresh глобально, а затем вместо создания локальных версий просто установите глобальное значение:
clearInterval(auto_refresh);
auto_refresh = setInterval(
function()
{
$('#posts_db').load('data/posts_db.php');
}, 1800000);
Комментарии:
1. Хорошо, почему-то это не сработало.. Я изменил его, но теперь событие наведения курсора мыши не изменило интервал