Что не так с этой функцией Jquery, помогите
$(function() {
$("table.section thead").click(function() {
if ($(this).next("table.section tbody").style.display == "block"){
$(this).next("table.section tbody").slideUp("slow");
}
if ($(this).next("table.section tbody").style.display == "none"){
$(this).next("table.section tbody").slideDown("slow");
}
});
});
Я не знаю, как этого добиться, любая помощь будет очень признательна.
ОБНОВИТЬ:
Я пытался использовать следующую функцию.
$(function() {
$("table.section thead").click(function() {
$(this).next("table.section tbody").slideToggle("slow");
});
});
Это создает для меня проблему (когда он падает, и вы нажимаете на него, он расширяется, а затем снова падает, поэтому он всегда будет разрушаться). Вот почему я пытаюсь получить функцию наверху.
1 ответ
Решение
Используйте видимый селектор в этом случае:
$(function() {
$("table.section thead").click(function() {
var body = $(this).next("table.section tbody");
if (body.is(":visible"))
body.slideUp("slow");
else
body.slideDown("slow");
});
});
Но, вероятно, гораздо проще просто использовать .slideToggle()
как это:
$(function() {
$("table.section thead").click(function() {
$(this).next("table.section tbody").slideToggle("slow");
});
});