Jquery在打开新div之前隐藏打开的div
您好,我有一个产品列表,其中隐藏了产品信息,我将使用jquery在单击时向下滑动信息。问题是我想要上一个。当用户单击其他产品时要向上滑动的信息 我让它关闭前一个,但它不会打开下一个 以下是用户将单击以获取更多信息的链接Jquery在打开新div之前隐藏打开的div,jquery,Jquery,您好,我有一个产品列表,其中隐藏了产品信息,我将使用jquery在单击时向下滑动信息。问题是我想要上一个。当用户单击其他产品时要向上滑动的信息 我让它关闭前一个,但它不会打开下一个 以下是用户将单击以获取更多信息的链接 <div class="list-op" target="<?php echo $i ?>" style="display:inline;"></div> })) 尝试将jquery更改为: jQuery(function ($) {
<div class="list-op" target="<?php echo $i ?>" style="display:inline;"></div>
})) 尝试将jquery更改为:
jQuery(function ($) {
$('.list-op').click(function () {
var itemid = '#div' + $(this).attr('target'); //id of the element to show/hide.
// this is already shown
var stop = $(itemid).hasClass('aktiv')
$('.aktiv').slideToggle("slow").removeClass('aktiv');
if(stop) return;
$(itemid).slideToggle("slow").addClass('aktiv');
})
});
您错过了
的闭幕式
,谢谢!很抱歉,我会更正它,但它仍然有效。您是否检查了if($('.aktiv')。length==0)
是否返回真值?不,我没有。我如何检查这一点?请将控制台.log
或警报()
放在那里。。。
jQuery(function ($) {
$('.list-op').click(function () {
var itemid = '#div' + $(this).attr('target'); //id of the element to show/hide.
//Show the element if nothing is shown.
if ($('.aktiv').length === 0) {
$(itemid).slideToggle("slow");
$(itemid).addClass('aktiv');
//Hide the element if it is shown.
} else if (itemid == "#" + $('.aktiv').attr('id')) {
$('.aktiv').slideToggle("slow");
$(itemid).removeClass('aktiv');
//Otherwise, switch out the current element for the next one sequentially.
} else {
$('.aktiv').slideToggle(function () {
$(this).removeClass('aktiv');
if ($(".targetDiv:animated").length === 0) {
$(itemid).slideToggle("slow");
$(itemid).addClass('aktiv');
}
});
}
});
jQuery(function ($) {
$('.list-op').click(function () {
var itemid = '#div' + $(this).attr('target'); //id of the element to show/hide.
// this is already shown
var stop = $(itemid).hasClass('aktiv')
$('.aktiv').slideToggle("slow").removeClass('aktiv');
if(stop) return;
$(itemid).slideToggle("slow").addClass('aktiv');
})
});