如何改变滑动方向?

时间:2011-04-13 12:18:56

标签: javascript jquery toggle slide sidebar

我在侧边栏(左侧和右侧)工作,我可以使用jQuery滑出/插入。 两侧都有效但右侧边栏向左滑动而不是向右滑动。 我使用以下jQuery代码:

    jQuery(function ($) {
    var left_open = true;
    var right_open = true;
    $('a#ToogleSidebarLeft').click(function () {
        if (left_open === true) {
            $('#boxwrapper-left').animate({ width: 'hide' });
            $('#leftcolumn').animate({ width: 'hide' });
            $("#maincontent").animate({ marginLeft: "0px" });
            left_open = false;
        } else {
            $('#boxwrapper-left').animate({ width: 'show' });
            $('#leftcolumn').animate({ width: 'show' });
            $("#maincontent").animate({ marginLeft: "220px" });
            left_open = true;
        }
    });
    $('a#ToogleSidebarRight').click(function () {
        if (right_open === true) {
            $('#boxwrapper-right').animate({ width: 'hide' });
            $('#rightcolumn').animate({ width: 'hide' });
            // $('#boxwrapper-right').hide('slide', {width: 'hide', direction: 'right' });
            // $('#rightcolumn').hide('slide', { width: 'hide', direction: 'right' });
            $("#maincontent").animate({ marginRight: "0px" });
            right_open = false;
        } else {
            $('#boxwrapper-right').animate({ width: 'show' });
            $('#rightcolumn').animate({ width: 'show' });
            $("#maincontent").animate({ marginRight: "200px" });
            right_open = true;
        }
    });
});

如何将第二个功能(ToogleSidebarRight)的滑动方向更改为右?

我尝试过类似的东西,但它不起作用:

$('#boxwrapper-left').animate({ width: 'hide', direction: 'right' });

感谢您的帮助!

PS:英语不是我的母语,所以文字看起来可能有点奇怪......

2 个答案:

答案 0 :(得分:0)

 $("#maincontent").animate({ marginRight: "-200px" });

我认为保证金的负值会起作用。

或将其更改为

$("#maincontent").animate({ marginLeft: "200px" });

答案 1 :(得分:0)

there有很多可用的例子......我希望你能提取所需的一些......

  

最后,我们可以实现同样的目标   影响为左边的动画   动画marginLeft属性。在   在这种情况下,我们仍然需要溢出:   隐;在父元素上,但是   滑动元件不需要   地定位。

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