我有一些隐藏的 div,当单击按钮时,我想显示一个 div。
我见过slideDown
,但这不是我想要的。我希望隐藏的 div 从无到有增长到原始大小,并从(隐藏)div 的右上角执行此操作。
我有一些隐藏的 div,当单击按钮时,我想显示一个 div。
我见过slideDown
,但这不是我想要的。我希望隐藏的 div 从无到有增长到原始大小,并从(隐藏)div 的右上角执行此操作。
$("#box").show('size', { origin: ["top", "right"] }, 2000);
.toggle()
如果您希望能够使用相同的事件隐藏它,请使用相同的参数。
第一个参数是我们正在使用的效果,size
. 第二个参数是特定于此效果的选项对象,我们只使用origin
它来指定它应该从哪里调整大小。第三个参数是以毫秒为单位的持续时间,您可以随意更改。
现场示例:http: //jsbin.com/uwonun/1
从无到有增长到它的原始大小,并从(隐藏)div 的右上角执行此操作。
我认为切换可以满足您的需求...
试试这个
html
<div id="test"></div>
<button id="button">click</button>
jQuery
$(function(){
$("#button").click(function(){
$('#test').toggle('slow');
});
});
如果您在第二次点击中不需要任何动画,那么您可以使用one()
$(function(){
$("#button").one('click',function(){
$('#test').toggle('slow');
});
});
这不完全是你想要的,但它可能会被修改:
.effect
您可以使用参数在您的潜水中使用 jQuery UI方法"size"
。这可以在选项中进行自定义,您应该能够在此处了解如何:
祝你好运,我希望这会有所帮助!
试试这个
<html>
<head>
<style type="text/css">
#slideDiv{display:none;width:400px;height:300px;position:absolute;top:0;right:0;background:#ff0000;color:#fff;}
</style>
</head>
<body>
<div id="slideDiv"> </div>
<button id="startSlide">Start Slide</button>
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('#startSlide').on('click', function(){
$('#slideDiv').toggle('slow', function() { });
})
})
</script>
</body>
</html>
我希望这有帮助。
不确定这是否是黑客行为。但是,我刚刚发现在没有 jQuery UI 的情况下我得到了我(和你)想要的东西(我立即从我的 yeoman/bower 构建中删除了该库):
var isLeft = !$myRelorAbsDiv.position().left; // 2-col layout, with floated divs
$myRelorAbsDiv.css(isLeft? "left":"right", 0).show("slow");
在 2-col(仅基于容器的宽度......所有内部 div 都向左浮动)布局中,上述代码导致(由于在 show 方法调用之前的 css 定位)动画在右边时从右边发生列(左侧动画,如果在左侧,则为第一列)。我几乎引入了 jquery-ui 来做到这一点!废话:)