Перезапуск JavaScript функции по click
Здравствуйте!
На сайте установлен слайдер Roundabout вызывается таким набором параметров: $(document).ready(function() { $('#wrap_slider .slider ul').css("width","900px").roundabout({ autoplay: true, duration: 500, autoplayDuration: 3000, autoplayPauseOnHover: true }); }); Необходимо, что бы автоплей останавливался не только по наведении на область слайдера, но и при первом клике по кнопка Назад или Вперед и включался обратно только после перезагрузки страницы. Единсвенное что пришло в голову - по нажатию на одну из стрелок заменять значение автоплей на фалсе и перезапускать инициализацию слайдера. Вот функции, которые отвечают за стоп автоплея при наведении. может их как то можно переделать для click? Я в этом совсем не силен // autoplay pause on hover if (settings.autoplayPauseOnHover) { self .bind("mouseenter.roundabout.autoplay", function() { methods.stopAutoplay.apply(self, [true]); }) .bind("mouseleave.roundabout.autoplay", function() { methods.startAutoplay.apply(self); }); } // autoplay // ----------------------------------------------------------------------- // startAutoplay // starts autoplaying this roundabout startAutoplay: function(callback) { return this .each(function() { var self = $(this), data = self.data("roundabout"); callback = callback || data.autoplayCallback || function() {}; clearInterval(data.autoplayInterval); data.autoplayInterval = setInterval(function() { methods.animateToNextChild.apply(self, [callback]); }, data.autoplayDuration); data.autoplayIsRunning = true; self.trigger("autoplayStart"); }); }, // stopAutoplay // stops autoplaying this roundabout stopAutoplay: function(keepAutoplayBindings) { return this .each(function() { clearInterval($(this).data("roundabout").autoplayInterval); $(this).data("roundabout").autoplayInterval = null; $(this).data("roundabout").autoplayIsRunning = false; // this will prevent autoplayPauseOnHover from restarting autoplay if (!keepAutoplayBindings) { $(this).unbind(".autoplay"); } $(this).trigger("autoplayStop"); }); }, // toggleAutoplay // toggles autoplay pause/resume toggleAutoplay: function(callback) { return this .each(function() { var self = $(this), data = self.data("roundabout"); callback = callback || data.autoplayCallback || function() {}; if (!methods.isAutoplaying.apply($(this))) { methods.startAutoplay.apply($(this), [callback]); } else { methods.stopAutoplay.apply($(this), [callback]); } }); }, // isAutoplaying // is this roundabout currently autoplaying? isAutoplaying: function() { return (this.data("roundabout").autoplayIsRunning); }, // changeAutoplayDuration // stops the autoplay, changes the duration, restarts autoplay changeAutoplayDuration: function(duration) { return this .each(function() { var self = $(this), data = self.data("roundabout"); data.autoplayDuration = duration; if (methods.isAutoplaying.apply(self)) { methods.stopAutoplay.apply(self); setTimeout(function() { methods.startAutoplay.apply(self); }, 10); } }); }, Спасибо за ответы! |
Часовой пояс GMT +3, время: 21:33. |