重复条件而不重新加载页面

时间:2013-10-26 00:29:23

标签: jquery

我在这里有这个代码,只有在我重新加载页面后它才能运行。如何在不重新加载页面的情况下多次执行此操作?

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'); });    
     }
});

1 个答案:

答案 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