2017-02-10 6 views
0

У меня проблема на слайдере.jQuery изображения слайдера при наведении курсора мыши и сброс на выводе

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

Это мой код:

<div id="slider1" class="fadein"> 
      <img class="" src="images/rotator/1_1.jpg" alt="1"> 
      <img src="images/rotator/1_2.jpg" alt="2"> 
      <img src="images/rotator/1_3.jpg" alt="3"> 
      </div> 

JQuery:

$(document).ready(function(){ 

    var change_img_time = 3000; 
    var transition_speed = 300; 

    var simple_slideshow = $('#slider1'), 
     listItems = simple_slideshow.children('#slider1 img'), 
     listLen = listItems.length, 
     i = 0, 
     intervalId // Generated id for the interval timer 

     changeList = function() { 

      listItems.eq(i).fadeOut(transition_speed, function() { 
       i += 1; 
       if (i === listLen) { 
        i = 0; 
       } 
       listItems.eq(i).fadeIn(transition_speed); 
      }); 

     }; 

    listItems.not(':first').hide(); 


    $('#slider1').on('mouseover', function() { 
     changeList(); // Do this once immediately 
     intervalId = setInterval(changeList, change_img_time); 
    }).on('mouseout', function() { 
     clearInterval(intervalId); // Stop slider 
     listItems(':first').css('z-index', '9999'); 
    });; 

}); 

Пожалуйста, кто-то может помочь?

+0

Что сейчас происходит? (скрипт js был бы полезен для тестирования/демонстрации). Кроме того, вам не хватает запятой после 'intervalId', предполагая, что вы намерены сделать объявление функции' changeList' приватным? в противном случае точка с запятой. – Sam0

ответ

0

это скрипка:

 var change_img_time = 3000; 
 
     var transition_speed = 300; 
 

 
     var simple_slideshow = $('#slider1'), 
 
      listItems = simple_slideshow.children('.fadein img'), 
 
      listLen = listItems.length, 
 
      i = 0, 
 
      intervalId, // Generated id for the interval timer 
 

 
      changeList = function() { 
 

 
       listItems.eq(i).fadeOut(transition_speed, function() { 
 
        i += 1; 
 
        if (i === listLen) { 
 
         i = 0; 
 
        } 
 
        listItems.eq(i).fadeIn(transition_speed); 
 
       }); 
 

 
      }; 
 

 
     listItems.not(':first').hide(); 
 

 

 
     $('#slider1').on('mouseover', function() { 
 
      console.log(listItems); 
 
      changeList(); // Do this once immediately 
 
      intervalId = setInterval(changeList, change_img_time); 
 
     }).on('mouseout', function() { 
 
      clearInterval(intervalId); // Stop slider 
 
      listItems(':first').css('z-index', '9999'); 
 
     });
.fadein { 
 
    position: relative; 
 
    /*overflow: hidden;*/ 
 

 
} 
 

 
.fadein img { 
 
    position: absolute; 
 
    left: 0; 
 
    top: 0; 
 
} 
 

 
.fadein img:nth-child(1) { 
 
    z-index: 9999; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script> 
 
<div id="slider1" class="fadein"> 
 
       <img class="" src="http://placekitten.com/210/130" alt="1"> 
 
       <img src="http://placekitten.com/200/300" alt="2"> 
 
       <img src="http://placekitten.com/200/300" alt="3"> 
 
       </div>