如何使用jquery从左到右或从右到左为2 css布局设置动画?

时间:2014-11-04 20:48:46

标签: javascript jquery html css slideshow

我的jQuery级别是业余的,现在我努力用幻灯片解决这个问题,我知道如何使用fadeout或fadein处理变量但是我无法从左到右或从右到左动画2个不同的布局与next属性:

1.第一个布局是一个活动布局,display:block; 2.第二个布局(幻灯片/布局显示在下一个按钮按下但同时删除第一个布局)不是活动幻灯片,display:none;

我陷入困境:

$('.next').click(function(){
var currentSlide=$('.active-slide');
var nextSlide=currentSlide.next();
currentSlide.removeClass('active-slide');
nextSlide.addClass('active-slide');
});

为可见性附加图片: image

网站链接了解更多信息: Website

1 个答案:

答案 0 :(得分:1)

你走了。 添加一个内部div,如:

<div class="slide1">
    <div class="slide-inner">
        ......
    </div>
</div>

CSS:

.slide-inner {
    left: 0;
    position: absolute;
    width: 100%;
}

.slide1 {
    overflow: hidden;
    position: relative;
}

jQuery的:

jQuery(document).ready(function(){
    var totalWidth = 0;
    var select = jQuery('.slide1').find('.slide-inner > div');
    select.each(function(index) {
      totalWidth = +(totalWidth)+(+$(this).outerWidth(true));   
    });

    jQuery('.slide-inner').width(totalWidth);

    $('.next').click(function(){
        var currentSlide=$('.active-slide');
        var nextSlide=currentSlide.next();
        //currentSlide.removeClass('active-slide');
        //nextSlide.addClass('active-slide');

        // .position() uses position relative to the offset parent, 
        var pos = nextSlide.position();

        // .outerWidth() takes into account border and padding.
        var width = nextSlide.outerWidth();

        //show the menu directly over the placeholder
        jQuery('.slide-inner').animate({"left":(pos.left + width) + "px"}, "slow");
    });
});