我正在使用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');
};
任何帮助都将不胜感激。
答案 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变量,然后在函数中使用该变量。