jquery遍历时的函数传参问题

jquery中遍历时如何将当前数组的索引值传入要绑定的click函数中,想用立即执行函数进行传参,但是写了一下会报错,求大神们给个办法

$(".swiper-index .swiper-index-item").each(function(i){   
    // 如何将i传入click函数中?
    $(this).on("click",function(){
        index = i + 1;
        $swiper.css("left",-imgWidth*index);
    }); 
}) 
阅读 1.9k
2 个回答

其实用不着这么写,用jq就没必要按原生的思路写了。

$(".swiper-index .swiper-index-item").on('click',function(){
    var c_index = $(this).index();
    index = c_index  + 1;
    $swiper.css("left",-imgWidth*index); 
})

$(".swiper-index .swiper-index-item").each(function(i){   
    (function(i){ 
        $(this).on("click",function(){
             index = i + 1;
             $swiper.css("left",-imgWidth*index);
        }); 
    })(i) 
}) 

或者

$(".swiper-index .swiper-index-item").each(function(i){   
    // 如何将i传入click函数中?
    $(this).on("click",function(){
        let index = i + 1;
        $swiper.css("left",-imgWidth*index);
    }); 
}) 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题