我想简化菜单
I wanted to simplify menu
本文关键字:菜单 更新时间:2023-09-26
有没有办法简化这个?
jQuery(function ($) {
$("#bt1").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt2").css("background-image", "");
$("#bt3").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt2").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt3").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt3").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt2").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt4").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt2").css("background-image", "");
$("#bt3").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt5").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt2").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt3").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt6").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt2").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt3").css("background-image", "");
$("#bt7").css("background-image", "");
});
$("#bt7").on("click", function () {
$(this).css("background-image", "url(css/fondos/fondotopActivo.png)");
$("#bt1").css("background-image", "");
$("#bt2").css("background-image", "");
$("#bt4").css("background-image", "");
$("#bt5").css("background-image", "");
$("#bt6").css("background-image", "");
$("#bt3").css("background-image", "");
});
});
它工作正常,但我想让它更轻。
尝试:
var $allBts = $("[id^=bt]");
$allBts.on("click", function () {
$allBts.css("background-image","");
$(this).css("background-image","url(css/fondos/fondotopActivo.png)");
});
或
$allBts.on("click", function () {
$allBts.not($(this).css("background-image","url(css/fondos/fondotopActivo.png)")).css("background-image","");
});
这使用属性开头的选择器,该选择器与基于起始属性值的元素匹配,此处为 id。但是,应确保使用这些元素作为父容器驻留的上下文,以避免选择不需要的元素。或者将它们与它们的类型组合在一起,例如容器内的div
wrapper
然后
$("div[id^=bt]")
或更具体:
$('.wrapper').find("div[id^=bt]");
但是如果可能的话,我建议为所有这些类名提供一个通用的类名并使用类选择器,因为它会比属性选择器更快。
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- angular的下拉菜单
- 使用JQuery的动态上下文菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- Div根据<选择>菜单
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 将JavaScript弹出菜单转换为警报框
- 调整屏幕大小后不显示子菜单
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- Jquerymobile-使用javascript创建选择菜单
- 如何将JSON转换为HTML下拉菜单
- 滚动后保持固定的菜单栏不起作用
- 如何关闭所有其他子菜单
- 悬停下拉菜单即使在鼠标移出后也保持活动状态