首先,我的JavaScript技能是关于零所以这可能是易peasy :)的JavaScript元素瞄准
我有一些幻灯片的JS转盘和每张幻灯片有两个div,你可以改变之间(显示/隐藏),点击上面的两个导航标签(“查看”和“阅读”),每张幻灯片都有这些导航标签。除了一个恼人的细节外,一切都很好。每个导航标签都有一个动态js生成的活动类,用于指示哪一个当前处于活动状态。但是当前脚本同时针对每张幻灯片上的所有导航标签,而不仅仅是我目前正在查看的那张导航标签。所以我想只为与我单击的其他选项卡位于相同元素内的选项卡删除活动类。
下面是HTML:
<div class="big-container" id="slide1">
<!-- The tabs -->
<div class="nav-tabs">
<span class="nav-tab active">
<a href="#thumbs">View</a>
</span>
<span class="nav-tab">
<a href="#info">Read</a>
</span>
</div>
<!-- The div with info text -->
<div class="project-info hide" id="info">
Here goes some text
</div>
<!-- The div with images -->
<div class="img-thumbs" id="thumbs">
<img src="some-image.png" />
</div>
</div>
这里是脚本:
$(document).ready(function() {
$('.nav-tab > a').click(function(event){
event.preventDefault();//stop browser to take action for clicked anchor
//get displaying tab content jQuery selector
var active_tab_selector = $('span.active > a').attr('href');
//find actived navigation and remove 'active' css
var actived_nav = $('.nav-tabs > span.active');
actived_nav.removeClass('active');
//add 'active' css into clicked navigation
$(this).parents('span').addClass('active');
//hide displaying tab content
$(active_tab_selector).removeClass('active');
$(active_tab_selector).addClass('hide');
//show target tab content
var target_tab_selector = $(this).attr('href');
$(target_tab_selector).removeClass('hide');
$(target_tab_selector).addClass('active');
});
});
这照顾了选项卡,但由于某种原因毁了脚本的其余部分,因为现在显示/隐藏div功能只适用于第一张幻灯片,但不适用于其他幻灯片... – user3370933