Javascript 使用切换按钮引导更改语言
我正在学习使用bootstrap、html、css和js进行编码。我想知道是否可以用切换按钮修改我的网页语言? 我使用的是可以设置如下事件的:Javascript 使用切换按钮引导更改语言,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我正在学习使用bootstrap、html、css和js进行编码。我想知道是否可以用切换按钮修改我的网页语言? 我使用的是可以设置如下事件的: <input id="toggle-event" type="checkbox" data-toggle="toggle"> <div id="console-event"></div> <script> $(function() { $('#toggle-event').change(func
<input id="toggle-event" type="checkbox" data-toggle="toggle">
<div id="console-event"></div>
<script>
$(function() {
$('#toggle-event').change(function() {
$('#console-event').html('Toggle: ' + $(this).prop('checked'))
})
})
</script>
您的尝试存在许多问题 最明显的一点是,语言是错误的。您的“en”部分包含法语文本,“fr”部分包含英语文本 与您引用的示例相比,CSS也被破坏了-请更仔细地查看
:lang
部分是如何在原始版本中构造的。在原始示例中,它用于隐藏相反的语言,而您使用它来隐藏相同的语言。你把这个概念理解错了
而且,这句话完全是胡说八道:
$('#test1').body('Toggle: ' + $(this).prop('checked')).className='en'
部分的内容设置为“Toggle:true”或类似内容。这是没有用的document.body.className
的示例非常有效。您只需要根据切换是打开还是关闭来更改类名。我选择将类名存储在data-
属性值“true”和“false”中,这当然对应于布尔值的字符串表示形式。这意味着我们可以灵活地使用切换的“checked”属性值来获取正确的数据-
属性值,并将其用作新的类名,而无需任何繁琐的if
或switch
语句:
CSS
body.en :lang(fr) {
display: none;
}
body.fr :lang(en){
display: none;
}
$(function() {
$('#toggle-event').change(function() {
document.body.className = $(this).data($(this).prop("checked").toString());
});
});
HTML
<body class="en">
<p lang="fr">
Je parle la baguette
</p>
<p lang="en">
I speak the baguette
</p>
<input id="toggle-event" type="checkbox" checked data-toggle="toggle" data-size="large" data-onstyle="info" data-offstyle="info" data-on="English" data-off="French" data-true="en" data-false="fr" >
</body>
另外,您的JSFIDLE根本不起作用,因为您没有包含jQuery,您的脚本位于错误的部分,您必须将引导等作为外部资源引用—您提供的内联链接指向JSFIDLE环境中不存在的本地资源。我已经为您解决了这个问题,并对其进行了更新,使其能够按照您的意愿工作:
您的尝试存在许多问题 最明显的一点是,语言是错误的。您的“en”部分包含法语文本,“fr”部分包含英语文本 与您引用的示例相比,CSS也被破坏了-请更仔细地查看
:lang
部分是如何在原始版本中构造的。在原始示例中,它用于隐藏相反的语言,而您使用它来隐藏相同的语言。你把这个概念理解错了
而且,这句话完全是胡说八道:
$('#test1').body('Toggle: ' + $(this).prop('checked')).className='en'
部分的内容设置为“Toggle:true”或类似内容。这是没有用的document.body.className
的示例非常有效。您只需要根据切换是打开还是关闭来更改类名。我选择将类名存储在data-
属性值“true”和“false”中,这当然对应于布尔值的字符串表示形式。这意味着我们可以灵活地使用切换的“checked”属性值来获取正确的数据-
属性值,并将其用作新的类名,而无需任何繁琐的if
或switch
语句:
CSS
body.en :lang(fr) {
display: none;
}
body.fr :lang(en){
display: none;
}
$(function() {
$('#toggle-event').change(function() {
document.body.className = $(this).data($(this).prop("checked").toString());
});
});
HTML
<body class="en">
<p lang="fr">
Je parle la baguette
</p>
<p lang="en">
I speak the baguette
</p>
<input id="toggle-event" type="checkbox" checked data-toggle="toggle" data-size="large" data-onstyle="info" data-offstyle="info" data-on="English" data-off="French" data-true="en" data-false="fr" >
</body>
另外,您的JSFIDLE根本不起作用,因为您没有包含jQuery,您的脚本位于错误的部分,您必须将引导等作为外部资源引用—您提供的内联链接指向JSFIDLE环境中不存在的本地资源。我已经为您解决了这个问题,并对其进行了更新,使其能够按照您的意愿工作:
为什么你不能“混合它们”?至少展示一下您的尝试,然后也许我们可以帮助修复它。下面是我用来尝试此切换按钮的代码:。为什么您不能“混合它们”?至少展示一下你这样做的尝试,然后也许我们可以帮助修复它。这是我用来尝试切换按钮的代码片段:。@Kapu没问题。如果答案对您有帮助,请记住标记为已接受和/或投票-谢谢:-)@Kapu没问题。如果答案对您有帮助,请记住标记为已接受和/或投票-谢谢:-)