JS幻灯片div类不工作 - 简单的问题

时间:2013-09-27 00:35:44

标签: javascript jquery css

我有一个按钮,点击它将滑动名为“内部”的div。小提琴在这里:更新 - http://jsfiddle.net/NfXTY/1/

问题出在var $marginLefty = $('.inner');这一行的某个地方。

我也想知道如何以相反的方式启动动画,因此当您第一次单击它并再次单击时将其单击将其滑回。

4 个答案:

答案 0 :(得分:0)

.inner需要一个margin-left:350px;

的起点

答案 1 :(得分:0)

我在http://jsfiddle.net/NfXTY/2/更新了您的小提琴。您在+'px'错过了$marginLefty.outerWidth()。它应该是$marginLefty.outerWidth()+'px'

答案 2 :(得分:0)

问题是你正在使用绝对定位......因为剩余边距不起作用....使用left而不是

<div class="inner" style="left: 350px;">Animate this element's margin-left style property</div>

$(document).ready(function () {
    $('#slidemarginleft button').click(function () {
        var $marginLefty = $(this).next();
        $marginLefty.animate({
            left: parseInt($marginLefty.css('left'), 10) == 0 ? $marginLefty.outerWidth() : 0
        });
    });
});

演示:Fiddle

答案 3 :(得分:0)

内部类不正确。 如果你想设置margin-left,你应该设置是0,而不是右:0, 所以.inner类应该是

.slide .inner {
        background-color: #44CC55;
        bottom: 0;
        color: #333333;
        height: 36px;
        left: 0;
        padding: 6px;
        position: absolute;
        width: 338px;
    }

或者继续设置正确的值,您应该将margin-right值设置为从右向左滑动,如下所示:

$(document).ready(function() {
      $('#slidemarginleft button').click(function() {
        var $marginLefty = $(this).next();
        $marginLefty.animate({
          marginRight: parseInt($marginLefty.css('marginRight'),10) == 0 ?
            $marginLefty.outerWidth() :
            0
        });
      });
    });

小提琴链接:fiddle