当我隐藏/显示时,'myContent'div下方的标签/表单是否有办法让转换更顺畅?
目前,当切换myContent div时,其下方的其他元素会“跳”到位 - 如果我能想出一种将它们滑动到正确位置的方法,那将会很棒。你觉得怎么样?
function toggleDiv(divId) { jQuery("#" + divId).toggle("slide", { direction: "up" }); } function ShowThing(divID) { jQuery("#" + divID).show("slide", { direction: "up" }, 500); } function HideThing(divID) { jQuery("#" + divID).hide("slide", { direction: "up" }, 500); }
<a href="javascript:toggleDiv('myContent');" style="background-color: #ccc; padding: 5px 10px;">Toggle Button</a>
<button onclick="ShowThing('myContent');">Show</button>
<button onclick="HideThing('myContent');">Hide</button>
<div>
<div id="myContent" style="background-color: #aaa; padding: 5px 10px;">The content in this div will hide and show (toggle) when the toggle is pressed.
</div>
</div>
<div>
<label for="cool-field">Name</label>
<input type="text" name="cool-field" id="cool-field" />
</div>
答案 0 :(得分:1)
优化了javascript,以便所有代码都基于jQuery。
HTML代码
<a href="#" style="background-color: #ccc; padding: 5px 10px;" class="togglebtn">Toggle Button</a>
<button id="showthing">Show</button>
<button id="hidething">Hide</button>
<div>
<div id="myContent" style="background-color: #aaa; padding: 5px 10px;">The content in this div will hide and show (toggle) when the toggle is pressed.
</div>
</div>
<div>
<label for="cool-field">Name</label>
<input type="text" name="cool-field" id="cool-field" />
</div>
jQuery代码:
$(function(){
$('a.togglebtn').click(function(){
$('#myContent').stop().slideToggle(500);
return false;
});
$('#showthing').click(function(){
$('#myContent').slideDown(500);
});
$('#hidething').click(function(){
$('#myContent').stop().slideUp(500);
});
});
答案 1 :(得分:0)
您的Jsfiddle空白。
而不是show()
您可以使用slideDown('slow');
对于hide
,您可以使用slideUp('slow');
您也可以设置方向。
否则您可以使用JQuery Animate