我已经写了一个可以正常工作的函数,但是对于jquery而言是新手,我想知道是否有更简洁的书写方式。任何建议都可以帮助,只是想学习!removeclass addclass多选择器
谢谢!
CODE:
function displayContent() {
var $link1 = $('.row.nav li a.bio');
var $link2 = $('.row.nav li a.stylist');
var $link3 = $('.row.nav li a.contact');
var $content = $('#text-content')
var $bio = $("#bio");
var $stylist = $("#stylist");
var $contact = $("#contact");
var $overlay = $('.content-overlay');
//link1
$link1.click(function (e) {
e.stopPropagation();
$link2.removeClass('active');
$link3.removeClass('active');
$link1.addClass('active');
$contact.hide();
$stylist.hide();
$bio.fadeIn(700);
$overlay.show();
});
//link2
$link2.click(function (e) {
//same code here
});
//link3
$link3.click(function (e) {
//same code here
});
//close overlay/hide content
$('html').click(function (e) {
e.stopPropagation();
$link1.removeClass('active');
$link2.removeClass('active');
$link3.removeClass('active');
$bio.fadeOut();
$stylist.fadeOut();
$overlay.fadeOut();
$contact.fadeOut();
});
}
UPDATE:
HTML标记:
<div class="main-nav pull-left">
<ul class="row nav">
<li><a href="#" class="bio">bio</a></li>
<li><a href="#" class="stylist">stylist</a></li>
<li><a href="#" class="contact">contact</a></li>
</ul>
</div>
<section id="text-content">
<div class="row">
<div id="bio" style="display: none;">
content here
</div>
<div id="stylist" style="display: none;">
content here
</div>
<div id="contact" style="display: none;">
content here
</div>
</section>
http://codereview.stackexchange.com/ – j08691
此问题属于Stack Exchange网络中的其他站点:http://codereview.stackexchange.com/ – Xotic750
错误。谢谢! – user2647510