【发布时间】:2012-03-25 06:19:45
【问题描述】:
我在使用两个 slideToggles 时遇到了一个奇怪的问题。 #bannerChoice 幻灯片工作正常,但#search 幻灯片在打开时应该与#bannerChoice 重叠,但不会打开超过中途。相反,它会强制页面重新加载。
这是我的代码:
function bannerChoice()
{
$('#bannerChoice').slideToggle(function()
{
if($('#bannerChoice').is(':visible'))
{
$('html').css({overflow:"hidden",height:"100%"});
}
else
{
$('html').css({overflow:"auto",height:"2171px"});
}
});
}
function toggleForm()
{
$('#search').slideToggle(350);
return false;
}
和
<div id="bannerChoice">
<div id="bcText">Select a banner graphic:<br/></div>
<div id="bcImages">
<form action="#" method="post">
<input type="hidden" name="setBanner" id="setBanner" value="">
<img src="/media/profile/images/bgs/bg1_thumb.png"
onClick="setBanner(1,event);"/>
<img src="/media/profile/images/bgs/bg2_thumb.png"
onClick="setBanner(2,event);"/>
<img src="/media/profile/images/bgs/bg3_thumb.png"
onClick="setBanner(3,event)" />
<img src="/media/profile/images/bgs/bg4_thumb.png"
onClick="setBanner(4,event)" /><br/>
<span id="bcBttns">
<input type="submit" value="Submit" class="submit"
name="bttnSubmit" /><input type="button" value="Cancel"
onClick="bannerChoice()">
</span>
</form>
</div>
<div id="bcBG"> </div>
</div>
和
<span onClick="toggleForm()">
<a href="" style="display:inline-block; color:#bbb; padding:0 13px;
line-height:70px;">link text</a></span>
<div style="padding-left:13px; z-index:9004">
<form id="search" method="post" action="#">
<input type="text" name="name" value="Name" style="width:112px"/><br/>
<input type="text" name="city" value="City" style="width:112px" /><br/>
<input type="text" name="state" value="State" style="width:112px" /><br/>
<input type="text" name="zip" value="Zip" style="width:112px" /><br/>
<input type="button" class="submit" style="margin:0 13px 0 13px;"
value="Search">
</form>
</div>
【问题讨论】:
-
不回答您的问题,但所有这些内联事件处理程序 (
onClick) 都被认为是一种相当古老的方法。我建议改为使用 JavaScript 绑定事件。由于您已经在使用 jQuery,请查看 API 文档中的.on()。 -
所有的内联 JavaScript 是怎么回事?您正在使用 jQuery,这使得内联 JS 完全没有必要。
-
很高兴知道。我是 jquery 新手。
标签: toggleclass jquery