Jquery добавить уникальный идентификатор в функцию - PullRequest
0 голосов
/ 23 декабря 2010

Я использую плагин цикла jQuery.Однако мне нужно добавить несколько экземпляров указанного кода на странице.Это будет проходить через цикл.Это означает, что я должен добавить уникальный идентификатор к функции.Я действительно не очень комфортно с JavaScript в целом.

Ниже приведен оригинальный код .

jQuery.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) { 
    jQuery(pager).find('li').removeClass('mini-activeLI') 
        .filter('li:eq('+currSlideIndex+')').addClass('mini-activeLI'); 
}; 

Это то, что я пытался.Где +unique+ может быть сгенерировано PHP rand():

jQuery.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex+unique+) { 
    jQuery(pager).find('li').removeClass('mini-activeLI') 
        .filter('li:eq('+currSlideIndex+unique++')').addClass('mini-activeLI'); 
}; 

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 23 декабря 2010

Попробуйте это:

function(pager, currSlideIndex<?php echo $id ?>) { 
    jQuery(pager).find('li').removeClass('mini-activeLI') 
        .filter('li:eq('+currSlideIndex<?php echo $id ?>+')').addClass('mini-activeLI'); 
}; 

Редактировать: чтобы передать его как переменную, введите:

<?php echo "<script type='text/javascript'>var _sliderIndexId = " + $id + ";</script>" ?>

А затем:

function(pager, currSlideIndex) { 
        jQuery(pager).find('li').removeClass('mini-activeLI') 
            .filter('li:eq(' + (currSlideIndex + "") + (_sliderIndexId + "")) +')').addClass('mini-activeLI'); 
    };

Не уверен насчетСинтаксис PHP, но это общая идея: пусть PHP выведет id как глобальную переменную JS, а затем использует эту переменную в функции.

0 голосов
/ 23 декабря 2010

Если вы не уверены, как получить переменную из PHP в Javascript, вы можете сделать что-то вроде:

<?php 
    $unique = 123456;
    echo "<script>var unique = $unique;</script>";
?>

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

...