我有一些隐藏的div,当点击一个按钮时,我想显示一个div。
我见过slideDown
,但这并不是我想要的。我希望隐藏的div从无到有增长到原始大小,从(隐藏)div的右上角开始。
答案 0 :(得分:8)
$("#box").show('size', { origin: ["top", "right"] }, 2000);
如果您希望能够使用相同的事件隐藏它,请使用相同参数的.toggle()
。
第一个参数是我们正在使用的效果size
。第二个参数是特定于此效果的选项对象,我们仅使用origin
来指定应从中调整大小的位置。第三个参数是以毫秒为单位的持续时间,您可以随意更改。
答案 1 :(得分: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');
});
});
答案 2 :(得分:0)
这不完全是你想要的,但它可能会被修改:
您可以使用.effect
参数在潜水时使用jQuery UI "size"
方法。这可以在选项中自定义,你应该能够解决这里的问题:
祝你好运,我希望这会有所帮助!
答案 3 :(得分:0)
试试这个
<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>
我希望这会有所帮助。
答案 4 :(得分:0)
不确定这是否是黑客攻击。但是,我刚刚发现没有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定位)动画从右边发生在右列时(左侧动画,如果在左侧,第1列)。我几乎带来了jquery-ui这样做!等等:)