控制JavaScript的方向.show() /.toggle()
Controlling the direction of JavaScript .show() / .toggle()?
我使用JavaScript的.toggle()
来显示/消失:
{
display: none;
position: fixed;
top: 100px;
right: 0;
left: 0;
background: rgba(0,0,0,0.75);
padding: 15px;
}
然而,在整个动画过程中,它从左上角角开始,扩展到div
的右下角角。
理想情况下,我想从两个上角开始,然后均匀地向下扩展到两个下角。
我认为CSS transition-origin
属性可能有影响,但情况似乎并非如此。
任何想法?提前感谢。:)
我将开始一个0的高度和动画的高度属性。
function toggle() {
var el = document.getElementsByTagName('div')[0];
if (el.className) {
el.className = '';
} else {
el.className = 'grow';
}
}
div {
background-color: black;
width:200px;
height: 0;
}
.grow {
height: 200px;
transition: height 2s;
}
<button onclick="toggle()">Toggle</button>
<div></div>
我不太了解jQuery的toggle
方法,所以我查看了文档,它确实提供了一些有用的信息。(这是一个温和的提示,在使用StackOverflow之前,您应该尝试自己解决问题,包括查看任何相关的在线文档)。
.toggle()方法的作用是:动画化物体的宽度、高度和不透明度同时匹配元素
文档没有给出任何关于自定义toggle
如何做动画的信息,所以看起来你被卡住了。如果我对你的理解是正确的,似乎你希望元素只动画高度和而不是的宽度,所以它保持相同的宽度,因为它切换,只是动画高度。我看不出用jQuery的toggle
有什么办法。
但等等!看起来jQuery有另一个叫做slideToggle
的方法,它可以完全满足你的需求。它就像toggle
,除了它只动画的高度和保持宽度相同。万岁!
这个故事的寓意:如果你正在使用第三方Javascript库,比如jQuery,你真的需要在在线文档中找到你需要的信息。:)
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- jQuery/Javascript.toggleClass/.classList.toggle的特殊行为
- jQuery:.click(function(){(element),collapse('show',f
- Bootstrap 3 Datepicker v4:dp.show和dp.change事件在Datepicker内联时不
- JQuery hide()在show()之后不起作用,反之亦然
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 使用angularjs ng Show/ng hide显示和隐藏不同的内容
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 如何在AngularJS视图中使用promise(ng-show)
- 函数hide()、prev()、show()被组装以获得所需的结果,但无法理解其工作原理
- AngularJS:如何使用java脚本函数更改跨度的ng-show条件
- Ionic Show Webpage
- Javascript Show Hide-将切换操作从复选框更改为<a href>链接
- flot: show yaxis values
- show-hide只在ajax调用中第一次工作
- 为什么我不能在'show.bs.modal'
- 请有人修复这个SHOW/HIDE表Javascript代码
- Angular js ng-show and ng-hide with animation using toggle c
- jQuery Show & Hide Toggle
- 控制JavaScript的方向.show() /.toggle()