从函数中重新加载jquery$(函数()
我有一个js应用程序,在页面加载时加载从函数中重新加载jquery$(函数(),jquery,function,Jquery,Function,我有一个js应用程序,在页面加载时加载 var lang = 'en'; i18n.setLng(lang, function(err, t) { /* loading done */console.log('loaded ' + lang) }); $(function() { Mirador({ "id": "viewer", "layout": "1x1" }); }); 但是,我希望能够动态切换语
var lang = 'en';
i18n.setLng(lang, function(err, t) { /* loading done */console.log('loaded ' + lang) });
$(function() {
Mirador({
"id": "viewer",
"layout": "1x1"
});
});
但是,我希望能够动态切换语言,因此添加了一个小型语言切换器
Html
虽然它改变了变量lang,但它没有重新加载mirador应用程序。我知道我想重新加载页面,但使用新变量,我只是在努力寻找正确的语法(function(){});这是一个文档就绪功能。当页面文档在浏览器上就绪时会自动触发。您不需要在任何其他函数中调用它。甚至您可以根据需要多次调用Mirador函数。在我的示例中,当文档处于就绪状态以及用户单击并更改语言时,会调用Mirador。Mirador您可以根据需要进行功能设置
$(function() {
Mirador({
"id": "viewer",
"layout": "1x1"
});
$('#switch').click(function(){
if(lang==='de') {
lang = 'en';
//reload app page
} else {
lang = 'de';
$("#switch").html("English");
// reload app page
}
});
});
如果重新加载页面,您所做的更改将丢失,因为您正在重新加载页面。您的Miradir调用位于一个自调用函数中,该函数在每次语言更改后只运行一次,您需要调用它。@daveNewton是的,这就是为什么我不想只使用重新加载,而只是重新加载mirador内容。我想我看到了我的错误o现在。为什么相同的代码两次将Mirador初始化放在函数内部并调用该函数?我已经向您介绍了流程如何与文档就绪函数一起工作。如果您不需要多次重新初始化Mirador函数,并且有一个重新加载页面的过程,您可以从单击函数替换Mirador初始化代码.我已经更新了我的代码,“重新加载应用程序页面”是什么意思?如果重新加载页面,一切都会消失。@dave我想他的意思是单击“重新初始化Mirador应用程序”。
$('#switch').click(function(){
if(lang==='de') {
lang = 'en';
$("#switch").html("Other");
} else {
lang = 'de';
$("#switch").html("English");
}
});
$(function() {
Mirador({
"id": "viewer",
"layout": "1x1"
});
$('#switch').click(function(){
if(lang==='de') {
lang = 'en';
//reload app page
} else {
lang = 'de';
$("#switch").html("English");
// reload app page
}
});
});