2014-09-08 2 views
0

Мне было интересно, как сделать паузу с помощью мыши на моделирование «следующего»?Пауза на зависании Моделирование следующей кнопки в jquery

У меня есть слайдер с определенными настроенными кнопками next/prev, и я не могу активировать функцию «auto», потому что «auto» не может быть настроен так, как нужно (или я не знаю, как это сделать).

Я смоделировал «» рядом «» кнопка под названием # сетки рядом, как это:.

function simulateClick(){ 
    $('#grid-next').click(); 
}; 

setInterval(simulateClick, 2000); 

мне нужно сделать паузу, что моделирование, когда я положил мышь на ползунке ****

(Я знаю, как настроить регулярное pauseOnHover, но это слишком специфичны для меня, и я не знаю, как)

ответ

0
function simulateClick(){ 
    $('#grid-next').click(); 
}; 

var triggerclick; 

triggerclick = setInterval(simulateClick, 2000); 

$('#yourslider').mouseenter(function() { 
    clearInterval(triggerclick); 
}).mouseleave(function() { 
    triggerclick = setInterval(simulateClick, 2000); 
}); 
+0

Thank y ou all 3 для справки, все работает, и я использовал решение Alex bc, он написал это сначала: D .. я бы проголосовал, но система не позволяет мне. У меня еще одна проблема: этот слайдер на некоторых браузерах не показывает некоторые настройки, которые я сделал. Но, возможно, это проблема с темой, которую я использую, bc на некоторых компьютерах выглядит великолепно, а на некоторых нет. :))) (много работы еще предстоит) Спасибо, ребята :)) –

+0

thats просто характер веб-разработчика, он выглядит по-разному на всех браузерах! : D удачи – Alex

0

Вы можете использовать функцию clearTimeout, чтобы очистить таймер. При вызове setInterval вы сохраните ReturnValue и использовать его в качестве аргумента в clearTimeout

Не забудьте сделать вар доступны глобально

var t; 
function startTimer() 
{ 
    t = setInterval(simulateClick, 2000); 
} 

function stopTimer() 
{ 
    clearInterval(t); 
} 

function simulateClick() 
{ 
    console.log("Simulate click"); 
} 

См http://jsfiddle.net/Fizk/ykdgLmau/ для работы примера :)

0

Многое, как ответ Алекс, но используя hover(), вы можете использовать обратные вызовы для mouseenter и mouseleave:

function simulateClick(){ 
    $('#grid-next').click(); 
}; 

var triggerclick; 

triggerclick = setInterval(simulateClick, 2000); 

$("#yourslider").hover(function() { 
     clearInterval(triggerclick); 
    }, function() { 
     triggerclick = setInterval(simulateClick, 2000); 
    } 
);