【发布时间】:2019-01-22 09:30:56
【问题描述】:
我正在使用Jquery 根据页面上的用户交互显示 div 块的隐藏部分。
使用其他framework不是一个选项,页面交互大多类似于单页behavior。
目前我的 JS 代码充满了所有这些代码,
我正在寻找可能的代码optimization 或任何其他方法来处理这种类型的scenario。
提前致谢
我使用了toggleClass 或Jquery。 :可见Jquery 功能。
// New section
$(document).on('click', '.sone_button_1', function () {
$('.div_5').removeClass('hidden');
$('.div_6').removeClass('hidden');
$('.div_2').addClass('hidden');
$('.div_1').addClass('hidden');
$('.div_4').addClass('hidden');
});
// new section
$(document).on('click', '.some_list_2', function () {
$('.div_3').removeClass('hidden');
$('.div_2').removeClass('hidden');
$('.div_5').addClass('hidden');
});
// new section
$(document).on('click', '.some_button_2', function () {
$('.div_1').removeClass('hidden');
$('.div_3').addClass('hidden');
$('.div_4').addClass('hidden');
$('.div_5').addClass('hidden');
});
...
它按预期工作,但需要更多才能使其高效和可能的交互。
【问题讨论】:
-
您很可能通过通用类和 DOM 遍历来简化此操作。如果您可以发布您的 HTML,我们可以确认这一点并为您提供一些解决方案
-
您可以使用活动和非活动类来 div Demo link 每个分页通过隐藏和显示 div 实现相同的效果
-
当你点击一个按钮时,你可以为 body 元素分配一个类名,并添加一些 css 规则,根据该类隐藏你的 div。
-
提高效率的一种方法是不从文档中进行事件委托。您应该使用最近的静态父级。另外,为了减少您的代码重复次数,您可以执行
$('.div_5, .div_6').removeClass('hidden');
标签: jquery html css single-page-application show