简单的:
function toggle(all) {
$('.all-projects').toggle(all);
$('.my-projects').toggle(!all);
}
$('.btn-my-projects').click(function() {
toggle(false);
});
$('.btn-all-projects').click(function() {
toggle(true);
});
如果你想更简洁:
function makeClickHandler(all) {
return function () {
$('.all-projects').toggle(all);
$('.my-projects').toggle(!all);
};
}
$('.btn-my-projects').click(makeClickHandler(false));
$('.btn-all-projects').click(makeClickHandler(true));
data-*
或者,您可以采用完全不同的方法,并使用 HTML5属性将显示和隐藏 div 的按钮之间的链接放入标记中。像这样的东西:
<button class="project-control" data-show=".all-projects">
Show all projects
</button>
<button class="project-control" data-show=".my-projects">
Show my projects
</button>
<div class="project all-projects">...</div>
<div class="project my-projects">...</div>
使用这样的 JavaScript:
$('.project-control').on('click', function () {
var showSelector = $(this).data('show');
$('.project').hide();
$(showSelector).show();
});
注意在实际页面中,您可能希望缓存选定的元素。