Twitter Bootsrap Carousel .carousel(number) 不起作用

发布于 2025-01-05 11:22:01 字数 768 浏览 1 评论 0 原文

我在使用 Twitter Bootstrap Carousel 插件上的 .carousel(number) 方法时遇到问题。不知何故我无法让它工作。轮播本身已启动并正在运行,.carousel('next') 方法也是如此。

$('#carousel-nav a').click(function(q){
 q.preventDefault();
 targetSlide = $(this).attr('data-to');
 //this one doesn't work $('#my-carousel').carousel(targetSlide); 
 $('#my-carousel').carousel('next');
});

这是标记

<ul id="carousel-nav" class="nav nav-tabs nav-stacked">
    <li><a href="#my-carousel" data-to="0" >Slide 1</a></li>
    <li><a href="#my-carousel" data-to="1" >Slide 2</a></li>
    <li><a href="#my-carousel" data-to="2" >Slide 3</a></li>
</ul>

有线索吗?先感谢您。

I'm having a problem with the .carousel(number) method on Twitter Bootstrap Carousel plugin. Somehow I can't get it working. The carousel itself is up and running, so does the .carousel('next') method.

$('#carousel-nav a').click(function(q){
 q.preventDefault();
 targetSlide = $(this).attr('data-to');
 //this one doesn't work $('#my-carousel').carousel(targetSlide); 
 $('#my-carousel').carousel('next');
});

Here is the markup

<ul id="carousel-nav" class="nav nav-tabs nav-stacked">
    <li><a href="#my-carousel" data-to="0" >Slide 1</a></li>
    <li><a href="#my-carousel" data-to="1" >Slide 2</a></li>
    <li><a href="#my-carousel" data-to="2" >Slide 3</a></li>
</ul>

Any clue? Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冰葑 2025-01-12 11:22:01

这些数字像数组一样从 0 开始。试试这个:


    var targetSlide = $(this).attr('data-to') -1;

我刚刚从你的 targetSlide 变量中减去 1。这对我有用。

The numbers are 0 based like an array. Try this:


    var targetSlide = $(this).attr('data-to') -1;

I just subtracted 1 from your targetSlide variable. It worked for me.

红焚 2025-01-12 11:22:01

真正的问题是你必须解析为 int

targetSlide = parseInt($(this).attr('data-to'));

The real problem is that you have to parse to int

targetSlide = parseInt($(this).attr('data-to'));
迷雾森÷林ヴ 2025-01-12 11:22:01

将标记更改为:

<ul id="carousel-nav" class="nav nav-tabs nav-stacked">
    <li><a href="#my-carousel" data-to="1" >Slide 1</a></li>
    <li><a href="#my-carousel" data-to="2" >Slide 2</a></li>
    <li><a href="#my-carousel" data-to="3" >Slide 3</a></li>
</ul>

并将脚本更改为(感谢@user1209713):

$('#carousel-nav a').click(function(q){
    q.preventDefault();
    targetSlide = $(this).attr('data-to')-1;
    $('#my-carousel').carousel(targetSlide);
});

并且它有效

changed the marked up to :

<ul id="carousel-nav" class="nav nav-tabs nav-stacked">
    <li><a href="#my-carousel" data-to="1" >Slide 1</a></li>
    <li><a href="#my-carousel" data-to="2" >Slide 2</a></li>
    <li><a href="#my-carousel" data-to="3" >Slide 3</a></li>
</ul>

and the script to ( thanks to @user1209713 ):

$('#carousel-nav a').click(function(q){
    q.preventDefault();
    targetSlide = $(this).attr('data-to')-1;
    $('#my-carousel').carousel(targetSlide);
});

and it works

剧终人散尽 2025-01-12 11:22:01

parseInt 为我工作,感谢@stalin,如果您想运行操作,请在回调中单独执行它们以获得更好的结果。

$('#carousel-nav a').click(function(){
 var targetSlide = parseInt($(this).attr('data-cigar'));
 $('#someElement').fadeOut('fast',function(){
   $('#otherElement').fadeIn('fast', function(){
     $('#my-carousel').carousel(targetSlide);
   });
 });
}); 

parseInt worked for me thanks @stalin, also if ever you want to run actions, do them individually on the callback for better result.

$('#carousel-nav a').click(function(){
 var targetSlide = parseInt($(this).attr('data-cigar'));
 $('#someElement').fadeOut('fast',function(){
   $('#otherElement').fadeIn('fast', function(){
     $('#my-carousel').carousel(targetSlide);
   });
 });
}); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文