【发布时间】:2023-04-03 15:10:02
【问题描述】:
我正在制作一个从页面左侧弹出的侧边栏。切换侧边栏的元素是 Bootstrap 导航栏上的 navbar-brand 按钮。我在<a> 标签内有一个<i> 作为图标,并让这两个被<div> 包围作为点击区域。它看起来像这样:
<div id = "sheath-toggle" class = "sheath-toggle-icon">
<a class="navbar-brand" href = "#"><i class = "glyphicon glyphicon-menu-hamburger"></i></a>
</div>
侧边栏不显示时,图标为汉堡图标。当侧边栏弹出时,图标变为左箭头,关闭时又变回汉堡包。
原来,这是我用来改变图标的jQuery。
$(".sheath-toggle-icon").click(function() {
if ( $(this).find("i").hasClass("glyphicon-menu-hamburger") ) {
$("i").switchClass("glyphicon-menu-hamburger", "glyphicon-menu-left");
} else if ( $(this).find("i").hasClass("glyphicon-menu-left") ) {
$("i").switchClass("glyphicon-menu-left", "glyphicon-menu-hamburger");
}
})
这对我来说效果很好,直到我决定在页面上的另一个<i>elsewhere 另一个图标。我发现我的脚本也改变了这个图标上的类,而它应该只在我的切换元素上切换图标。如何重新编写此脚本以仅影响我的切换元素上的类而不影响我页面上的其他 <i> 图标?提前感谢您的帮助。
【问题讨论】:
-
检查
toggleClass函数
标签: javascript jquery css jquery-ui