我有一個奇怪的問題與兩個slideToggles。 #bannerChoice幻燈片工作正常,但#search幻燈片應該在打開時重疊#bannerChoice,從不打開多於中途。相反,它會強制頁面重新加載。Jquery Slidetoggle:它爲什麼重新加載我的頁面?
這裏是我的代碼:
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()。 – 2012-03-07 17:29:40
什麼是所有的內嵌JavaScript?你正在使用jQuery,這使得內聯JS完全沒有必要。 – Sparky 2012-03-07 17:31:30
很高興知道。我是一個jQuery新手。 – zzxjoanw 2012-03-07 17:33:33