Слайд-шоу jQuery останавливается после одного изображения в пользовательском шаблоне Wordpress - PullRequest
0 голосов
/ 30 марта 2012

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

Когда я использовал Chrome, чтобы проверить, что не так, мне сказали, что он не распознает функцию slideSwitch, хотя все работало нормально, когда я тестировал его локально.

Во всяком случае, я надеюсь, что мастера здесь в stackoverflow смогут помочь моей слабоумной личности.

Заранее спасибо.

JQuery код:

$(function slideSwitch() {
     var $active = $('#slideshow img.active');

     if ($active.length == 0) $active = $('#slideshow img:last');

     var $next = $active.next().length ? $active.next() : $('#slideshow img:first');

     $active.addClass('last-active');

     $next.css({
         opacity: 0.0
     }).addClass('active').animate({
         opacity: 1.0
     }, 2000, function () {
         $active.removeClass('active last-active');
     });
 });

 $(function () {
     setInterval("slideSwitch()", 5000);
 });

А вот и сопровождающий CSS:

#slideshow {
    height:327px;
    border:thick #000;
    list-style:none;
    margin:0px auto;
    width:600px;
    overflow: hidden;
    position:relative;
}

#slideshow img {
     border: solid #000000 10px;
     display:block;
     position:absolute;
     z-index: 8;
}

#slideshow img.active {
    z-index:10;
}

#slideshow img.last-active {
    z-index:9;
}

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Поскольку setinterval является eval.

Так сделайте это:

window.setInterval(function() {
    slideSwitch();
}, 5000);

См .: http://jsfiddle.net/cxPU6/

Подробнее здесь: window.setInterval fromвнутри объекта

Я снова и снова сталкиваюсь с одной и той же проблемой:)

0 голосов
/ 30 марта 2012

Попробуйте:

setInterval( function(){
   slideSwitch();
}, 5000 );
...