我将工作人员添加到我的CMS但加载成员时遇到问题,因为我认为我的代码非常混乱。是否可以删除“li a.job-desc”& “li a.job-desc1”等,并有一个适用于所有工作人员的全局变量。点击每个工作人员后,他们自己的描述应该打开,其他成员关闭
在这里小提琴:http://jsfiddle.net/zangief007/BSN5u/14/
HTML:
<ul>
<li><a href="#" class="job-desc1"><img src="http://placehold.it/150x150" alt="staff1" width="191" height="191"></a></li>
<li>Jon doe</li>
<li>09 548 5554</li>
<li>jon@gmail.com</li>
</ul>
<p class="description1">Joe Doe dolor sit amet, consectetur adipisicing elit. Officiis, tempora, libero, ipsa maxime facere ullam harum ad iusto laborum minima magni officia provident aut obcaecati quaerat fugiat labore qui aliquam.</p>
<ul>
<li><a href="#" class="job-desc2"><img src="http://placehold.it/150x150" alt="staff1" width="191" height="191"></a></li>
<li>Jenny Hill</li>
<li>09 548 5554</li>
<li>jon@gmail.com</li>
</ul>
<p class="description2">Jenny Hill dolor sit amet, consectetur adipisicing elit. Officiis, tempora, libero, ipsa maxime facere ullam harum ad iusto laborum minima magni officia provident aut obcaecati quaerat fugiat labore qui aliquam.</p>
<ul>
<li><a href="#" class="job-desc3"><img src="http://placehold.it/150x150" alt="staff1" width="191" height="191"></a></li>
<li>Peter Small</li>
<li>09 548 5554</li>
<li>jon@gmail.com</li>
</ul>
<p class="description3">Peter Small dolor sit amet, consectetur adipisicing elit. Officiis, tempora, libero, ipsa maxime facere ullam harum ad iusto laborum minima magni officia provident aut obcaecati quaerat fugiat labore qui aliquam.</p>
</div>
JS:
$( "li a.job-desc" ).click(function() {
$( "p.description" ).fadeToggle( "slow", "linear" );
});
$( "li a.job-desc1" ).click(function() {
$( "p.description1" ).fadeToggle( "slow", "linear" );
});
$( "li a.job-desc2" ).click(function() {
$( "p.description2" ).fadeToggle( "slow", "linear" );
});
</script>
答案 0 :(得分:3)
CSS类用于对一组元素进行分组。为每个元素添加class1
,class2
等类是没有意义的。
(要访问特定元素,您可以改用id
,与使用class
访问它相比会更快
在这种情况下,您可以为job-desc
提供一个公共课<a>
,为description
提供<p>
,然后您可以使用以下脚本来显示相应的说明。
$("li a.job-desc").click(function () {
$(this).closest('ul').next("p.description").fadeToggle("slow", "linear");
});
如果要关闭其他说明,可以使用:visible选择器,如下所示:
$("li a.job-desc").click(function () {
var $desc = $(this).closest("ul").next("p.description").fadeToggle("slow", "linear");
$('p.description:visible').not($desc).hide();
});
答案 1 :(得分:0)
使用每个迭代器
$("li a").each(function(index,ele){
$(this).click (function(){
$(this).closest("ul").next("p.description").fadeToggle( "slow", "linear" );
});
});
答案 2 :(得分:0)
当链接和描述不包含在单独的容器中时,它会变得有点混乱,但这应该淡化相关描述并淡出所有其他描述。
$("li a.job-desc").click(function() {
// first find the description associated with the clicked link
var description = $(this).closest("ul").nextAll("p.description").first();
description.siblings("p.description").fadeOut();
description.fadeIn();
});