从右向右滑动?

我怎么能有一个div从折叠展开(反之亦然),但从右到左这样做?

我所看到的大多数东西总是从左到右。

$("#slide").animate({width:'toggle'},350); 

参考: https : //api.jquery.com/animate/

这可以使用jQueryUI hide / show方法本地实现。 例如。

  // To slide something leftwards into view, // with a delay of 1000 msec $("div").click(function () { $(this).show("slide", { direction: "left" }, 1000); }); 

参考: http : //docs.jquery.com/UI/Effects/Slide

用这个:

 $('#pollSlider-button').animate({"margin-right": '+=200'}); 

现场演示

改良版

一些代码已被添加到演示,以防止双重保证金双击: http : //jsfiddle.net/XNnHC/942/

与easing一起使用它;)

http://jsfiddle.net/XNnHC/1591/

  • 额外的JavaScript代码已删除。

  • 类名称和一些CSS代码已更改

  • 增加了function来查找是否展开或折叠

  • 改变是否使用缓解效应

  • 改变了animation速度

http://jsfiddle.net/XNnHC/1808/

看看使用jQuery UI的 Fiddle上的这个工作示例 。 这是我从左到右使用的解决scheme,但是我已经将其从右向左改变了。

它允许用户快速点击链接,而不会打破可用面板之间的animation。

JavaScript代码很简单:

 $(document).ready(function(){ // Mostra e nascondi view-news var active = "europa-view"; $('a.view-list-item').click(function () { var divname= this.name; $("#"+active ).hide("slide", { direction: "right" }, 1200); $("#"+divname).delay(400).show("slide", { direction: "right" }, 1200); active = divname; }); }); 

在小提琴链接获取HTML和CSS。

为了更好的效果呈现,添加了白色背景和左侧填充。

太简单:

 <script src="jquery.min.js"></script> <script src="jquery-ui.min.js"></script> <script> $(document).ready(function(){ $("#flip").click(function () { $("#left_panel").toggle("slide", { direction: "left" }, 1000); }); }); </script> 

我这样做了:

 var btn_width = btn.width(); btn.width(0); btn.show().animate({width: btn_width}, {duration: 500}); 

注意,那个节点“btn”应该在animation之前被隐藏,你可能还需要为它设置“position:absolute”。

 $(function() { $('.button').click(function() { $(this).toggleClass('active'); $('.yourclass').toggle("slide", {direction: "right"}, 1000); }); }); 

你可以先定义元素的宽度为0,然后右键点击,然后在你要显示的事件上。

 $('#the_element_to_slide_from_right_left').animate({ width:'your desired width' }, 600); 

就那么简单。

另一个值得一提的库是animate.css 。 它与jQuery非常好,你可以简单地通过切换CSS类来做很多有趣的animation。

喜欢..

$(“#slide”)。toggle()。toggleClass('animated bounceInLeft');

使用TweenLite / TweenMax GreenSockanimation平台(GSAP)提供了比jQuery或CSS3过渡更为平滑的定制。 为了使用TweenLite / TweenMax来animationCSS属性,你还需要一个名为“CSSPlugin”的插件。 TweenMax自动包括这一点。

首先,加载TweenMax库:

 <script src="ajax/libs/gsap/1.18.0/TweenMax.min.js"></script> 

或者TweenLite的轻量级版本:

 <script src="ajax/libs/gsap/1.18.0/plugins/CSSPlugin.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/easing/EasePack.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenLite.min.js"></script> 

然后,调用你的animation:

  var myObj= document.getElementById("myDiv"); // Syntax: (target, speed, {distance, ease}) TweenLite.to(myObj, .7, { x: 500, ease: Power3.easeOut}); 

您也可以使用IDselect器来调用它:

  TweenLite.to("#myID", .7, { x: 500, ease: Power3.easeOut}); 

如果您已经加载了jQuery,那么可以使用更高级的宽select器,如包含特定类的所有元素:

  // This will parse the selectors using jQuery's engine. TweenLite.to(".myClass", .7, { x: 500, ease: Power3.easeOut}); 

有关完整的详细信息,请参阅: TweenLite文档

根据他们的网站: “TweenLite是一个非常快速,轻量级和灵活的animation工具,作为GreenSockanimation平台(GSAP)的基础。”

一个没有jQuery UI的从右到左animation的例子,只是使用jQuery(任何版本,请参阅https://api.jquery.com/animate/ )。

 $(document).ready(function() { var contentLastMarginLeft = 0; $(".wrap").click(function() { var box = $(".content"); var newValue = contentLastMarginLeft; contentLastMarginLeft = box.css("margin-left"); box.animate({ "margin-left": newValue }, 500); }); }); 
 .wrap { background-color: #999; width: 200px; overflow: hidden; } .content { width: 100%; margin-left: 100%; background-color: #eee; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="wrap"> click here <div class="content"> I would like to have a div go from collapsed to expanded (and vice versa), but do so from right to left. Most everything I see out there is always left to right. </div> </div> 

检查这里的例子。

 $("#slider").animate({width:'toggle'}); 

https://jsfiddle.net/q1pdgn96/2/

我使用滚动(只是HTML,CSS和JS,只是与jQuery库)完成的一个例子。 当向下滚动时,一个button将向左滑动。

此外,我build议你,如果唯一你想要的是这种效果,不要使用jQuery UI,因为它太重(如果你只是想用它)。

 $(window).scroll(function(){ if ($(this).scrollTop() > 100) { event.preventDefault(); $(".scrollToTop").css({'transform': 'translate(0px, 0px)'}); } else { $(".scrollToTop").css({'transform': 'translate(40px, 0px)'}); } }); 

检查这个例子