当我点击“更多信息”时,它会更改为“更少信息”,但下面的内容不会滑动切换。
https://jsfiddle.net/n1gLn63y/
$(document).ready(function() {
$(".content").hide();
$(".toggle").on("click", function() {
var txt = $(".content").is(':visible') ? 'More Information' : 'Less Information';
$(".toggle").text(txt);
$(".toggle").toggleClass('active');
$(this).next('.content').slideToggle(450);
e.stopPropagation();
});
});
编辑:在小提琴中加入相关的html
<div class="description">
<div class="descriptionTitle">
<p class="Title"> KITAI / SELF-DIAGNOSIS </p>
<p class="toggle">More Information</p>
</div>
<div class="content">
content here
</div>
</div>
答案 0 :(得分:1)
$(this).next
找不到.content
,因为它不是兄弟姐妹。
.next
仅查找具有相同父级(兄弟姐妹)的元素。
尝试:
$(this).closest(".descriptionTitle").next('.content').slideToggle(450);
或重新排列您的HTML
答案 1 :(得分:1)
https://jsfiddle.net/officert/h7w40494/
$(document).ready(function() {
$(".content").hide();
$(".toggle").on("click", function() {
var txt = $(".content").is(':visible') ? 'More Information' : 'Less Information';
$(".toggle").text(txt);
$(".toggle").toggleClass('active');
$('.content').slideToggle(450); //this was the problem
e.stopPropagation();
});
你在做什么$(this).next('.content').slideToggle(450);
是问题。在这种情况下,$(this).next('。content')表示使用类.content
获取同级元素,但.content
的元素不是兄弟。
答案 2 :(得分:1)
$(this).next('.content').slideToggle(450);
该元素没有content
类的下一个元素,但它的父元素有,So:
$(document).ready(function() {
$(".content").hide();
$(".toggle").on("click", function(e) {
e.stopPropagation();
var txt = $(".content").is(':visible') ? 'More Information' : 'Less Information';
$(".toggle").text(txt);
$(".toggle").toggleClass('active');
$(this).parent().next('.content').slideToggle(450);
});
});