3

目前我已经让我的旋转木马像这样滑过索引框:

http://50.21.181.12:3000/

但是我希望,如果您在幻灯片 1 中并单击框 4,则两个中间幻灯片会更快地通过以在幻灯片 4 中结束,例如这个滑块:

http://www.hbs.edu/Pages/default.aspx

twitter-bootstrap的轮播有什么解决方法吗?

任何帮助将不胜感激!

4

2 回答 2

2

我知道这是一篇旧帖子,但选择的答案不正确。您可以通过使用 javascript 设置 css 来编辑它的滑动速度。

var item = $('.carousel-inner .item')
$(item).css('-webkit-transition', '0.6s ease-in-out left');
$(item).css('-moz-transition', '0.6s ease-in-out left');
$(item).css('-o-transition', '0.6s ease-in-out left');
$(item).css('transition', '0.6s ease-in-out left');

以上是轮播默认使用的实际css,只需更改值即可。

编辑:为了让它在幻灯片之间滑动

slideTo(begin, end);

function slideTo(start_index, end_index){
    this.sliding = true;
    if(start_index != end_index) {

        var diff = start_index - end_index;
        var speed = 0.6/(Math.sqrt(Math.abs(diff))*1.5);


        var item = this.$('.carousel-inner .item')
        this.$(item).css('-webkit-transition', speed + 's linear left');
        this.$(item).css('-moz-transition'   , speed + 's linear left');
        this.$(item).css('-o-transition'     , speed + 's linear left');
        this.$(item).css('transition'        , speed + 's linear left');

        var that = this;

        if(diff < 0){
            this.$('.carousel').one('slid', function(){
                that.slideTo(start_index+1, end_index);
                return false;
            });
            this.$('.carousel').carousel(start_index+1);
        }
        else{
            this.$('.carousel').one('slid', function(){
                that.slideTo(start_index-1, end_index);
                return false;
            });
            this.$('.carousel').carousel(start_index-1);
        }
    }
    else{
        this.sliding = false;
        var item = this.$('.carousel-inner .item')
        this.$(item).css('-webkit-transition', '0.6s ease-in-out left');
        this.$(item).css('-moz-transition', '0.6s ease-in-out left');
        this.$(item).css('-o-transition', '0.6s ease-in-out left');
        this.$(item).css('transition', '0.6s ease-in-out left');
    }
}

这递归地调用自己并增加一个滑得更近。它当前的滑动速度基于当前幻灯片与目标幻灯片的距离。

于 2013-06-06T22:09:25.067 回答
1

不。

Bootstrap Carousel 视觉展示(包括动画)是基于 CSS 的。JavaScript 只是切换 CSS 类。为了实现您正在寻找的滑动类型,它需要重新构建视觉呈现的核心,而不仅仅是简单的修改或解决方法。

我的建议是找到一个不同的 jQuery 轮播。

于 2012-12-11T19:25:10.120 回答