JQuery 动画并打开 div 当点击触发器并关闭同一个按钮时
JQuery animate and open div when clicking on trigger and close on same button
我有一块 HTML,我想在单击时为 div 设置动画并在再次单击时关闭。 HTML:
<a href="#" class="menu_greyed performance_menu_trigger">My Details <span class="push_right">▼</span></a>
<div class="performance_menu_holder">
<a href="details" class="push_right performance_menu_item">Details</a>
</div>
JQuery:
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').animate({ "opacity" : "show", bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').animate({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
当您第一次点击它时,它会正常打开,但在打开时不会。它不会关闭 div.
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a href="#" class="menu_greyed performance_menu_trigger">My Details <span class="push_right">▼</span></a>
<div class="performance_menu_holder">
<a href="details" class="push_right performance_menu_item">Details</a>
</div>
您可以使用 slideToggle 代替动画。
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show",
bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
我通过以下方式实现了它:
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle("fast");
});
});
我有一块 HTML,我想在单击时为 div 设置动画并在再次单击时关闭。 HTML:
<a href="#" class="menu_greyed performance_menu_trigger">My Details <span class="push_right">▼</span></a>
<div class="performance_menu_holder">
<a href="details" class="push_right performance_menu_item">Details</a>
</div>
JQuery:
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').animate({ "opacity" : "show", bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').animate({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
当您第一次点击它时,它会正常打开,但在打开时不会。它不会关闭 div.
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a href="#" class="menu_greyed performance_menu_trigger">My Details <span class="push_right">▼</span></a>
<div class="performance_menu_holder">
<a href="details" class="push_right performance_menu_item">Details</a>
</div>
您可以使用 slideToggle 代替动画。
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show",
bottom: "100" }, 500);
$('.performance_menu_trigger').addClass('performance_menu_trigger_close');
});
$('.performance_menu_trigger_close').click(function(){
$('.performance_menu_holder').slideToggle({ "opacity" : "show", top: "100" }, 500);
$('.performance_menu_trigger').removeClass('performance_menu_trigger_close');
});
});
我通过以下方式实现了它:
$(document).ready(function(){
$('.performance_menu_holder').hide()
$('.performance_menu_trigger').click(function(){
$('.performance_menu_holder').slideToggle("fast");
});
});