jquery切换从左到右和向后滑动

Posted

技术标签:

【中文标题】jquery切换从左到右和向后滑动【英文标题】:jquery toggle slide from left to right and back 【发布时间】:2013-01-04 12:05:51 【问题描述】:

我在页面左侧有一个“菜单”按钮,一旦选择,我就有一个包含菜单项显示的 div。然后我有另一个按钮可以选择隐藏菜单。

理想情况下,我希望它能够滑出(从左到右)并向后滑出,但未能使其正常工作。我尝试过使用 animate 和 SlideToggle,但没有一个适合我所拥有的。有什么建议吗?

<div id="cat_icon">Menu</div>
<div id="categories">
    <div CLASS="panel_title">Menu</div>
    <div CLASS="panel_item">
        <template:UserControl id="ucCategories" src="UserControls/ProductCategories.ascx" />
    </div>
</div>
$('#cat_icon').click(function () 
    $('#categories').toggle();
    $('#cat_icon').hide();
);
$('.panel_title').click(function () 
    $('#categories').toggle();
    $('#cat_icon').show();
);

【问题讨论】:

这里有一个很好的滑动教程learningjquery.com/2009/02/… 点击#cat_icon 将隐藏(使用toggle())#categories 和#cat_icon 本身,这是预期的行为吗? 【参考方案1】:

看到这个:Demo

$('#cat_icon,.panel_title').click(function () 
   $('#categories,#cat_icon').stop().slideToggle('slow');
);

更新:从左向右滑动:Demo2

注意:第二个也是使用jquery-ui

【讨论】:

【参考方案2】:

从右侧滑动:

$('#example').animate(width:'toggle',350);

向左滑动:

$('#example').toggle( direction: "left" , 1000);

【讨论】:

【参考方案3】:

最初隐藏#categories

#categories 
    display: none;

然后,使用 JQuery UI,缓慢地为Menu 设置动画

var duration = 'slow';

$('#cat_icon').click(function () 
    $('#cat_icon').hide(duration, function() 
        $('#categories').show('slide', direction: 'left', duration););
);
$('.panel_title').click(function () 
    $('#categories').hide('slide', direction: 'left', duration, function() 
        $('#cat_icon').show(duration););
);

JSFiddle

您也可以使用任何时间(以毫秒为单位)

var duration = 2000;

如果您也想隐藏class='panel_item',请同时选择panel_titlepanel_item

$('.panel_title,.panel_item').click(function () 
    $('#categories').hide('slide', direction: 'left', duration, function() 
        $('#cat_icon').show(duration););
);

JSFiddle

【讨论】:

【参考方案4】:

使用这个...

$('#cat_icon').click(function () 
    $('#categories').toggle("slow");
    //$('#cat_icon').hide();
);
$('.panel_title').click(function () 
    $('#categories').toggle("slow");
    //$('#cat_icon').show();
);

看到这个Example

您好。

【讨论】:

【参考方案5】:

没有像slideUp()和slideDown()这样的slideLeft()slideRight()这样的方法,但是你可以使用jQuery的@模拟这些效果987654323@函数。

HTML 代码:

<div class="text">Lorem ipsum.</div>

JQuery 代码:

  $(document).ready(function()
    var DivWidth = $(".text").width();
    $(".left").click(function()
      $(".text").animate(
        width: 0
      );
    );
    $(".right").click(function()
      $(".text").animate(
        width: DivWidth
      );
    );
  );

您可以在此处查看示例:How to slide toggle a DIV from Left to Right?

【讨论】:

以上是关于jquery切换从左到右和向后滑动的主要内容,如果未能解决你的问题,请参考以下文章

在视图之间滑动

从左到右和从右到左移动标签

如何为多个屏幕设置从左到右和反转的动画师

如何在从左到右和从上到下排序的二维数组中搜索数字?

jquery slide切换方向

jQuery 幻灯片切换动画与其他元素一起使用