Jquery为Function添加唯一标识符

时间:2010-12-23 14:05:50

标签: javascript jquery jquery-cycle

我正在使用jQuery循环插件。但是我需要在页面上添加所述代码的多个实例。这将通过循环传递。这意味着我必须为函数添加唯一标识符。我对JavaScript一般不太满意。

以下是原始代码

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

这就是我的尝试。 PHP +unique+可以生成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 :(得分:0)

如果您对如何从PHP到Javascript的变量感到困惑,可以执行以下操作:

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

这将为您提供一个全局变量,您可以在其他脚本标记中使用它。

答案 1 :(得分:0)

试试这个:

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变量,然后在函数中使用该变量。