Я использую указатель мыши, чтобы изменить номер слайда в плагине jQuery Supersized в зависимости от того, какую кнопку вы нажимаете.
Однако, если анимация перехода к следующему слайду не была завершена, прежде чем переходить через другую кнопку, это не меняет слайд.
Есть ли способ каждые несколько миллисекунд проверять, находится ли мышь над кнопкой, и загружать слайд, если он еще не загружен?
Также я бы хотел загрузить другой слайд, если мышь не находилась над какой-либо из кнопок в течение определенного времени.Как я могу сложить события так, чтобы указатель мыши ссылался на все кнопки, а также добавить событие времени?
Мой код (пока указатель мыши применяется только к последней кнопке):
$(".mybutton1").mouseover(function() {
api.goTo(2);
});
$(".mybutton2").mouseover(function() {
api.goTo(3);
});
$(".mybutton3").mouseover(function() {
api.goTo(4);
}).mouseout(function(){
api.goTo(1);
});
Заранее спасибо!
.
===================== ОБНОВЛЕНИЕ =====================
Большое спасибо за ваше последнее обновление.К сожалению, я не смог заставить ваш код работать.Тем не менее, я думаю, что, возможно, я нашел более простое решение, модифицирующее ваш исходный код и использующее jQuery hoverIntent…
Я обнаружил, что мог бы отключить функцию Supersized для остановки смены слайдов во время анимации, и я могу использовать hoverIntent, чтобы убедиться, что онждет достаточного времени, прежде чем менять слайд, чтобы анимация не складывалась.
Следующий код прекрасно работает при смене слайдов при наведении мыши.
Но я не могу заставить работать мышью, потому что она создаетновый экземпляр этого для каждой кнопки, и он складывает анимацию, когда мышь выкатывается из одной кнопки на следующую.Кроме того, кажется, что задержка таймера для мышки только задерживается, а не опция интервала, как при наведении мыши.
Так что мне просто нужно немного изменить это так, чтобы:
Если мышьне более ЛЮБОЙ из кнопок в течение 1000 мс, затем api.goTo (1);
Единственный способ, которым я могу придумать, - это создать невидимую ссылку на весь размер окна браузера изапустить вторую функцию hoverIntent, чтобы изменить слайд, когда он переворачивается, но я не думаю, что это будет лучшим способом!
Спасибо
var buttonNumber = <?php echo $project_count; ?>; //Change this number to the number of buttons.
var prefix = "#project-link";
var prefix2 = "#project-bullet";
for(var i=0; i<buttonNumber; i++){
(function(i){ //Anonymous function wrapper is needed to scope variable `i`
var id = prefix+i;
$(id).hoverIntent({
interval: 350,
over: mouseyover,
timeout: 1000,
out: mouseyout
});
function mouseyover(){
api.goTo(i+2);
$(".project-bullet").fadeOut(1);
$(prefix2+i).fadeIn(1000);
}
function mouseyout(){
//api.goTo(1);
}
})(i);
}