我在这里有这个代码,只有在我重新加载页面后它才能运行。如何在不重新加载页面的情况下多次执行此操作?
jQuery(document).ready(function($) {
var language_name = $.cookie('language_name');
if (language_name == "English") {
$('.selected').click(function() { $('.en').css('display','none'); });
}
if (language_name == "Spanish") {
$('.selected').click(function() { $('.es').css('display','none'); });
}
});
答案 0 :(得分:0)
不确定你的意思:
如何在不重新加载页面的情况下多次执行此操作?
假设您的代码在设置cookie之前执行,您将不得不重新加载页面以使其正常工作。如果是这样的话......
switch语句可以帮助设置默认语言。
// @param ($): jQuery version x?
(function ($) {
// 1. CONFIGURATION
var cfg = {
cookiename: 'language_name',
selected: '.selected',
lang: {
en: '.en',
es: '.es'
},
cssoptions: {
'display': 'none'
}
},
// 2. OBJECT
updateLanguages = {
init: function () {
var languageName = $.cookie(cfg.cookiename),
cfgLang = cfg.lang,
lang;
switch (languageName.toLowerCase()) {
case 'spanish':
lang = cfgLang.es;
break;
default:
lang = cfgLang.en;
break;
}
this.bindEvent(lang);
//$.cookie(cfg.cookiename, lang);
},
bindEvent: function (lang) {
$(cfg.selected).click(function () {
$(lang).css(cfg.cssoptions);
});
}
};
// 3. DOM READY
$(function () {
updateLanguages.init();
});
} (jQuery));
你也可以在这里添加你的cookie'set'功能。如果需要,可以使用函数或配置选项展开updateLanguages
。