我在导航栏中有一个类为language-switch
的div,它充当更改语言的按钮。我写了一段JQuery代码来改变div中Main
id和文本的类,但它只能在第二次初始点击后触发。
我已经试过用$(document).ready(function(){}
Package 它,但没有用。
令人困惑的是,我也有一个按钮,以改变主题从光明到黑暗所谓的mode-switch
和它的工作,第一次不必双击第一。
这是它的HTML。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="navbar-wrapper">
<div class="topnav" id="myTopnav">
<span class="menu">
<div class="language-switch">
<div class="language">EN </div>
<i class="fa fa-globe"></i>
</div>
<div class="mode-switch">
<i class="fa fa-sun-o"></i>
</div>
</span>
</div>
</div>
字符串language-switch
按钮的JavaScript。
$(document).ready(function(){
$(function changeLanguage(){
$(".language-switch").click(function(){
if ($(this).children(".language").text() == "EN") {
$(this).children(".language").text("ID");
$("#main").attr("class", "lang-id");
}
else {
$(this).children(".language").text("EN");
$("#main").attr("class", "lang-en");
}
console.log($(this).children(".language").text());
console.log($("#main").attr("class"));
});
});
});
型
JavaScript for mode-switch
按钮。
$(document).ready(function(){
$(".mode-switch").click(function(){
$("i", this).toggleClass("fa-moon-o fa-sun-o");
$(".light-theme").toggleClass("dark-theme");
console.log($(this).attr("class"));
});
});
型
1条答案
按热度按时间rbpvctlc1#
你有一个函数
changeLanguage
,它反过来在$(".language-switch")
元素上创建一个事件侦听器。在提供的代码中,似乎从未实际调用changeLanguage
函数。此外,语言节点中有一个尾随空格,因此,最初为“EN”!=“中文”
只需用途:
字符串
也可以考虑使用
classAdd
。classRemove
或classToggle
,而不是完全重写class属性型