我的目标slideToggle()目录在打开时需要是display:inline-block
而不是display:block
。有什么方法可以改变jquery的行为吗?
编辑:
我现在使用的是jQuery 1.7.0。此外,<div>
最初在display:none
,单击链接后应该展开到display:inline-block
;但显然在这种情况下slideToggle()的默认状态是display:block
...
发布于 2011-11-16 08:13:08
只需尝试通过脚本隐藏你的区块(不要通过样式display:none
)
HTML
<div class="ib">inline-block</div> <a href="#" class="toggle">toggle this</a>
CSS
.ib{
display:inline-block;
background:red;
}
JavaScript
$(".ib").hide();
$(".toggle").bind("click", function(){
$(".ib").slideToggle();
return false;
})
发布于 2018-12-20 09:37:46
我需要display:flex来使用order属性对元素进行重新排序。更改为显示:flex工作了,但它必须等待动画完成才能重新排列元素,所以有一段时间一切看起来都很混乱。
为我做的是使用start选项(see doc):
$("your-selector").slideToggle({
duration: 200,
easing: "easeOutQuad",
start: function() {
jQuery(this).css('display','flex');
}
});
发布于 2011-11-16 09:22:38
如果你发现自己看到了不想要的“无样式内容的Flash”,你也可以使用内联样式。“不要将样式内联”的常识实际上是为你的主要样式设计的,而不是视觉效果(毕竟JS特效都只是添加内联样式)。
当然,内容不会被禁用JS的搜索引擎爬行器看到,如果这很重要的话。如果这不重要,那你就很棒!
@fliptheweb的小提琴更新:http://jsfiddle.net/GregP/pqrdS/3/
https://stackoverflow.com/questions/8144944
复制相似问题