2014-12-11 5 views
0

Я использую плагин Revolution Slider для Wordpress. Rev Slider предоставляет api для изменения слайдов или прослушивания событий. Под оболочкой слайдера я динамически добавляю ссылку на каждый слайд, используя <a id="<?php echo "rev-slide-".$vid_link ?>" href="#"><?php echo $link ?></a>, где $ vid_link - это увеличивающееся целое число, а $ link - некоторый текст, введенный в настраиваемое поле. То, что я хочу сделать в моем файле сценария, - это добавить слушателя кликов к каждой ссылке, которая получит доступ к слайдеру revi для изменения слайда. До сих пор я пробовал следующее:Добавление прослушивателей кликов в цикл для слайдера Revolution

jQuery(document).ready(function($) { 

    //... 

    if(typeof revapi1 === 'undefined') return; 

    revapi1.bind('revolution.slide.onloaded', function() { 
     var totalSlides = revapi1.revmaxslide(); 

     var changeSlide = function(x) { 
      revapi1.revshowslide(x); 
     } 

     for (var i = 2; i <= totalSlides; i++) { 
      jQuery("#rev-slide-" + i).click(function(e) { 
       e.preventDefault(); 
       changeSlide(i); 
      }); 
     } 
    }); 
}); 

Здесь revapi1 - это имя var, присвоенное конкретному слайдеру. У меня были проблемы с областью с вызовом revshowslide(), используя переменную for loop непосредственно из самого цикла. Я попробовал обернуть вызов api в отдельной функции, но он все еще получает только окончательное значение i. Любая помощь по этому поводу будет оценена по достоинству.

ответ

0

«я» -переменный не доступен в вашей мыши-функции, вы можете передать его следующим образом:

jQuery("#rev-slide-" + i).click({myInt : i}function(e) { 
     e.preventDefault(); 
     changeSlide(e.data.myInt); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^