私が書いたいくつかのjQueryに小さな問題があります。2 つのボタンがあり、その下に div が隠されています。ボタンがクリックされると、slideDown または slideUp を使用して、適切な div がビュー内またはビュー外にアニメーション化されます。私が抱えている問題は、(div を非表示にするために) slideUp が呼び出されると、ボタンも非表示になることです。ボタンはそのままにしておく必要があり、テーブルを含む div のみをアニメーション化する必要があるため、これは正しくありません。
私が言いたいことをよりよく説明するために、以下の jFiddle を作成しました。
そして、ここに私のコードがあります:
HTML:
<div id="rightContent">
<div class="" id="yourAssessments">
<h3>Your Assessments</h3>
<div class="innerPadding">
<h4>Please choose an assessment: </h4>
<div class="onlineModuleAssessmentWrapper">
<div class="assessmentButton" data-assessment-id="1">Swim Instructor Default</div>
<div data-assessment-id="1" class="assessmentTableWrap">
<table>
<tr>
<td>
Planning </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Doing It </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Learning and Communication Styles/Techniques </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Debrief </td>
<td>
Compelted
</td>
</tr>
</table>
</div>
</div>
<div class="onlineModuleAssessmentWrapper">
<div class="assessmentButton" data-assessment-id="3">Test Assessment 3</div>
<div data-assessment-id="3" class="assessmentTableWrap">
<table>
<tr>
<td>
Planning </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Doing It </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Learning and Communication Styles/Techniques </td>
<td>
Compelted
</td>
</tr>
<tr>
<td>
Debrief </td>
<td>
Compelted
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
jQuery:
jQuery(".assessmentTableWrap").hide();
jQuery(document).on("click", '.assessmentButton', function () {
var linkedAssessmentId = jQuery(this).attr("data-assessment-id");
if (jQuery("div[data-assessment-id=" + linkedAssessmentId + "]").is(":hidden")) {
jQuery("div[data-assessment-id=" + linkedAssessmentId + "]").slideDown("slow");
} else {
jQuery("div[data-assessment-id=" + linkedAssessmentId + "]").slideUp("slow");
}
});
なぜこれが起こっているのか、どこが間違っているのか誰にもわかりますか? ありがとう!!