从函数内重新加载jquery $(function()

时间:2015-12-11 17:10:02

标签: jquery function

我有一个在页面加载时加载的js应用程序。

    var lang = 'en';
    i18n.setLng(lang, function(err, t) { /* loading done */console.log('loaded ' + lang) });

    $(function() {
      Mirador({
        "id": "viewer",
        "layout": "1x1"
      });
    });

但是我希望能够动态切换语言,因此添加了一个小型语言切换器。

HTML

  <div id="switch">English</div>
  <div id="viewer"></div>

JS

    $('#switch').click(function(){
     if(lang==='de') {
        lang = 'en';
     $("#switch").html("Other");
   } else {
     lang = 'de';
     $("#switch").html("English");

   }
  });

但是虽然它改变了变量lang,但它并没有重新加载mirador应用程序。我知道我想重新加载页面但是使用新变量我正在努力寻找正确的语法

1 个答案:

答案 0 :(得分:0)

$(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
   }
  });

});