【发布时间】:2014-08-31 18:25:34
【问题描述】:
我正在尝试使用 jQuery toggle() 实现滑动切换从左到右,反之亦然。
切换有效,但我希望 div 的下一个元素切换到 平滑动画 与切换效果平行。
我试过的校验码:jsFiddle
HTML
<button id="button" class="myButton">Run Effect</button>
<div id="myDiv">
<p>This div will have slide toggle effect.</p>
</div>
<div class="other_details">
This should move parallel with re-size of div being toggled.
</div>
jQuery
$(".myButton").click(function () {
var effect = 'slide';
var duration = 500;
$('#myDiv').toggle(effect, {direction: "left"}, duration);
});
CSS
#myDiv {
color:Green;
background-color:#eee;
border:2px solid #333;
text-align:justify;
float:left;
width:200px;
}
.other_details{
float:left;
font-weight:bold;
width:200px;
border:1px solid black;
padding:5px;
margin-left:2px;
}
您可以在输出中看到,"other_details" div 没有与切换效果平行移动。 只有在切换效果完成后才会移动。
请帮我解决。
【问题讨论】:
-
我认为您必须将它们都包装到一个容器中,然后在该容器 div 中应用动画。
-
@j809,感谢您的宝贵意见。但我认为它会切换
.other_detailsdiv 以及#myDiv。这是我不想要的。我只希望#myDiv切换,.other_details应该始终保持可见。 -
为什么不使用 jQuery .animate()? (api.jquery.com/animate)
-
@Izzy,说得好。但我认为如果
toggle()可以使用直接功能,那么我想为什么要手动animate()。
标签: jquery html jquery-animate toggle