代码:
<script type="text/javascript">
$(document).ready(function () {
$('.box').on('click', function (e) {
e.preventDefault();
var $btn = $(this);
$btn.toggleClass('opened');
var heights = $btn.hasClass('opened') ? 300 : 100;
$(this).stop().animate({ height: heights }, 800);
//$(".sync_store_info_input_holder").toggle();
});
});
</script>
使用上面的代码,我能够完成我需要的东西但是我对以下行有一点点问题:
$( “sync_store_info_input_holder。”)切换();
我只需要在.box打开时显示,而不是在它关闭时显示。我也需要它,所以只显示用户打开的框。我有18个使用.box类的盒子,只有id是唯一的,所以当切换功能工作时,用户打开的唯一框就是这样。
答案 0 :(得分:1)
您似乎可以使用toggle()
<script type="text/javascript">
$(document).ready(function () {
$('.box').on('click', function(e) {
e.preventDefault();
var $btn = $(this);
$btn.toggleClass('opened');
// Make whether the box is open a variable for reuse
var isOpen = $btn.hasClass('opened');
var heights = isOpen ? 300 : 100;
// Reuse $btn instead of $(this)
$btn.stop().animate({ height: heights }, 800);
// Important change
$(".sync_store_info_input_holder").toggle(isOpen);
});
});
</script>
版本。如果没有,请编写showOrHide代码来解释问题。
.sync_store_info_input_holder
我也需要它,因此仅显示用户打开的框。我有18个使用.box类的盒子,只有id是唯一的,所以当切换功能工作时,用户打开的唯一框就是这样。
你的意思是每个盒子里面都有一个$(".sync_store_info_input_holder", this).toggle(isOpen);
元素吗?如果是这样,您可以将行更改为
.box
仅选择.box
jsFiddle中的元素。如果它在{{1}}之外,则您必须显示HTML以供我们举例说明。