我现在很难过。我在 .title 上实现了一个 click() 函数来切换其兄弟(表)是显示还是隐藏。这很好用。我的问题是我在 .title 内有另一个点击功能,它位于 a 标签上。当我单击 a 标签时,我想让表格保持打开状态,但 .title over 会写入并关闭它并将所有内容都搞砸。目前我在 a 标签上有一个 onClick() (它仍然不起作用),它是用 jQuery .click() 完成的,但我就是做错了。
<script>
function dateChange(boatInput, dateInput){
$("table").first().children().remove();
$("table").first().load("availability.asp?boatType="+ boatInput +"&date="+ dateInput +"");
}
$(document).ready(function() {
$("table").first().load("availability.asp?boatType=PowerCatamaran&date=currentDate", function(response, status, xhr){
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("table").html(msg + xhr.status + " " + xhr.statusText);
}
});
$(".title").click(function(){
$(this).next().toggleClass("hide");
var boatName = $(this).next().attr('id');
if(!$(this).next().hasClass('hide')){
if(boatName == "SailingCatamaran"){
$(this).next().load("#");
}
else if(boatName == "PowerCatamaran"){
$(this).next().load("#");
}
else{
$(this).next().load("#");
}
}
$(this).children().last().toggleClass("hide");
$(this).find('.dateSelect').toggleClass("hide");
});
});
</script>
<div class="title">
<h2>Catamarans</h2>
<div class="dateSelect">
<div class="prev">
<p>Prev</p>
<a href="#">< month</a>
<a href="#">< week</a>
<a href="#">< day</a>
</div>
<div class="next">
<p>Next</p>
<a href="#" onClick="dateChange('PowerCatamaran', 'nextMonth')">month ></a>
<a href="#">week ></a>
<a href="#">day ></a>
</div>
</div>
<div class="expand hide">
Click to Expand
</div>
</div>
到目前为止,代码是静态的。我只需要一些实际的功能工作,然后才能使其全部动态化。我提前为糟糕的代码道歉!