Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запуск слайдера по наведению указателя мыши (https://javascript.ru/forum/misc/68190-zapusk-slajjdera-po-navedeniyu-ukazatelya-myshi.html)

GKA85 01.04.2017 06:47

Запуск слайдера по наведению указателя мыши
 
День добрый форумчане, я не знаю js вообще, задача такая, nivo slider переделать чтобы он запускался при наведении мыши, при уводе мыши должна возвращаться первая картинка слайда

Ссылка на слайдер https://github.com/Codeinwp/Nivo-Slider-jQuery

На просторах инета не нашел вообще ни одного слайдера с подобным эффектом, везде только остановка при наведении и нигде нет запуска. :help:

Diphenyl Oxalate 01.04.2017 07:22

Цитата:

при уводе мыши должна возвращаться первая картинка слайда
$("#wrapper").on("mouseleave", function () {
    $("a.nivo-control:first").click();
});


Цитата:

чтобы он запускался при наведении мыши
А вот тут надо залезть в исходник и поменять местами две функции:

это -
if(settings.pauseOnHover){
            slider.hover(function(){
                vars.paused = true;
                clearInterval(timer);
                timer = '';
            }, function(){
                vars.paused = false;
                // Restart the timer
                if(timer === '' && !settings.manualAdvance){
                    timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
                }
            });
        }


на это -

if(settings.pauseOnHover){
            slider.hover(function(){
                vars.paused = false;
                // Restart the timer
                if(timer === '' && !settings.manualAdvance){
                    timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
                }
            }, function(){
                vars.paused = true;
                clearInterval(timer);
                timer = '';
            });
        }

GKA85 01.04.2017 07:49

Спасибо, работает :) . Теперь остался вопрос как убрать автозапуск, если в настройках
var vars = {
            currentSlide: 0,
            currentImage: '',
            totalSlides: 0,
            running: false,
            paused: false,
            stop: false,
            controlNavEl: false        
        };

stop: false, меняю на stop: true, - при загрузке не проигрывается, но и не раегирует при наведении (не запускается)

рони 01.04.2017 09:02

GKA85, найти соотвествующие строки и поменять
//For pauseOnHover setting
        if(settings.pauseOnHover){
            slider.hover(function(){
                vars.paused = false;
                // Restart the timer
                if(!timer && !settings.manualAdvance){
                    timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
                }
            },function(){
                vars.paused = true;
                clearInterval(timer);
                vars.currentSlide = -1;
                nivoRun(slider, kids, settings, false);
                timer = '';
            });
        }


// In the words of Super Mario "let's a go!"
        var timer = 0;
        if(!settings.manualAdvance && kids.length > 1){
           // timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
        }


$("#wrapper").on("mouseleave", --- не добавлять

GKA85 01.04.2017 10:07

Спс большое, выручили :thanks:


Часовой пояс GMT +3, время: 08:24.