单击链接时显示一个div,同时用jquery隐藏其他div
我正在尝试创建一个具有一系列链接和div数量的导航方案。 当我点击链接1时我想显示div 1.如果我点击链接2我想隐藏1并显示2等。
我能够获得以下代码。 但是,正在发生的事情是当点击页面上的任何其他链接时,当前正在显示的div消失/隐藏。
我尝试了各种解决方案,但一直无法解决这个问题。 有人可以根据下面的代码提供一些有关可能发生的事情的见解。
HTML:
JavaScript的:
$('a').on('click', function(e) { e.preventDefault(); var $li = $(this).closest('li'); var tab = $li.data('tab'); var current = $('.active.settingLink').data('tab'); $('#' + current).fadeOut('fast', function() { //Slide the new div down $('#' + tab).fadeIn(); }); //Remove active class from current link $('.active.settingLink').removeClass('active'); $li.addClass('active'); });
$("#navigation a").on(...
将点击事件仅绑定到您的导航链接是真的如此; 您的代码将此事件绑定到它将在文档正文中找到的所有链接,因此您只需要一个更精确的选择器
nb:你应该委托
示例: http : //jsfiddle.net/9UPQj/
1st 2nd 3rd 4th
JS:
$('#navigation a').on('click', function(e) { e.preventDefault(); var index = $('a').index(this) + 1; $('div').each(function(){ if($(this).attr('rel') == index){ $(this).addClass('active'); $(this).show(); }else{ $(this).removeClass('active'); $(this).hide(); } }); });