Javascript 特定div上的Jquery函数
好的,我以前见过这个问题,但是没有一个解决方案对我有效,所以我决定开始一个新的线程。我有一些用HTML显示的多个结果,我想使用jQuery函数分别对它们进行查询。不幸的是,正如我所预料的那样,效果适用于所有div。下面是一些代码:Javascript 特定div上的Jquery函数,javascript,jquery,class,html,Javascript,Jquery,Class,Html,好的,我以前见过这个问题,但是没有一个解决方案对我有效,所以我决定开始一个新的线程。我有一些用HTML显示的多个结果,我想使用jQuery函数分别对它们进行查询。不幸的是,正如我所预料的那样,效果适用于所有div。下面是一些代码: <div class="block_result"> <div class="details"> <div class="info"> {$$Title} {$$points} {$$rates}
<div class="block_result">
<div class="details">
<div class="info">
{$$Title} {$$points} {$$rates}
</div>
<div class="navbar">
<div class='btn1'><a href="#d" class="fadingTab active" value="Tab1"><img src="some_png.png" alt=""></a></div>
<div class='btn2'><a href="#f" class="fadingTab" value="Tab2"><img src="some_png.png" alt=""></a></div>
<div class='btn3'><a href="#r" class="fadingTab" value="Tab3"><img src="some_png.png" alt=""></a></div>
</div>
<div class="contentContainer">
<div id="Tab1" class="contentWrapper">
<p class="contentText Tab1">some info</p>
</div>
<div id="Tab2" class="contentWrapper" >
<p class="contentText Tab2">some other info</p>
</div>
<div id="Tab3" class="contentWrapper" >
<p class="contentText Tab3">some other other info</p>
</div>
</div>
</div>
<div style="clear:both;"></div>
</div>
每次我按下一个制表键,所有的结果div都在改变。有什么想法吗
$this.find(".contentText").fadeOut(700);
行不通
您的锚定
没有class=“contentText”
作为其子项
换成
$(".contentText").not( $this.attr('value') ).fadeOut(700);
这应该可以
$("a.fadingTab").click(function () {
var $this = $(this);
// remove the active class from all classes
$(".active").removeClass("active");
// add the active class to this tab
$this.addClass("active");
var content_show = $this.attr("value");
// fade element with the class 'contentText' out
$(".contentText").show();
$(".contentText").not($('.' + content_show)).fadeOut(700);
});
首先,最好使用
.delay()
而不是超时
所以
谁会
$(".contentWrapper").delay(700).fadeOut();
第二,正如pXL所提到的,您使用选择器的方式是错误的。使用
最近的
、查找
和筛选
组合从一个选择器导航到另一个选择器。避免所有这些超时!动画完成后,动画会回调!您也没有动态分配/删除.contentText
,所以为什么不直接分配/删除$('.contentText').fadeOut(700)
?$(“.contentText”).fadeOut(700);这是对的$(此).find(“.contentText”).fadeOut(700);是我的错误,由于我努力寻找解决方案。请考虑这个版本。我试图编辑代码,但我不能…不幸的是,这对我不起作用。。。这里是一个网站的布局。我遇到的主要问题是,当我单击一个选项卡按钮时,它会将内容更改为所有结果。。。作为一名网络开发人员,我是一名新手,请原谅我缺乏知识。。。
setTimeout(function(){ $(".contentWrapper").hide(); }, 700);
$(".contentWrapper").delay(700).fadeOut();