language.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. var language_package = (function() {
  2. var $root = 'http://4dkk.4dage.com/FDKKIMG/';
  3. var package = function(lang) {
  4. var lang_package = '';
  5. switch (lang) {
  6. case 'zh':
  7. lang_package = zh;
  8. break;
  9. case 'en':
  10. lang_package = en;
  11. break;
  12. default:
  13. lang_package = zh;
  14. break;
  15. }
  16. return lang_package;
  17. } //返回语言包
  18. return package
  19. }());
  20. var language = (function() {
  21. var lang = getCookie('language');
  22. if (lang == '') {
  23. setCookie('language', 'zh', 30);
  24. changeLang(lang);
  25. } else {
  26. changeLang(lang);
  27. }
  28. function getCookie(c_name) {
  29. if (document.cookie.length > 0) {
  30. c_start = document.cookie.indexOf(c_name + "=")
  31. if (c_start != -1) {
  32. c_start = c_start + c_name.length + 1
  33. c_end = document.cookie.indexOf(";", c_start)
  34. if (c_end == -1) c_end = document.cookie.length
  35. return unescape(document.cookie.substring(c_start, c_end))
  36. }
  37. }
  38. return ''
  39. }
  40. function setCookie(c_name, value, expiredays) {
  41. var exdate = new Date()
  42. exdate.setDate(exdate.getDate() + expiredays)
  43. document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
  44. }
  45. function getLang() {
  46. return lang
  47. }
  48. function changeLang(lang_p) {
  49. if (lang_p) {
  50. setCookie('language', lang_p, 30);
  51. lang = lang_p;
  52. }
  53. var nowImg = document.getElementsByClassName('language-now')[0];
  54. if (nowImg) {
  55. nowImg = nowImg.getElementsByTagName('img')[0];
  56. nowImg.setAttribute('src', 'http://www.4dkankan.com/images/icon/lang_' + lang + '.png');
  57. }
  58. var package = language_package(lang);
  59. var $text = document.getElementsByClassName('lang-text'),
  60. $placeholder = document.getElementsByClassName('lang-placeholder'),
  61. $value = document.getElementsByClassName('lang-value'),
  62. $bg = document.getElementsByClassName('lang-bg'),
  63. $src = document.getElementsByClassName('lang-src');
  64. for (var i = 0, len = $text.length; i < len; i++) {
  65. var data = $text[i].getAttribute('data-lang');
  66. $text[i].innerText = package[data];
  67. };
  68. for (var i = 0, len = $placeholder.length; i < len; i++) {
  69. var data = $placeholder[i].getAttribute('data-lang');
  70. $placeholder[i].setAttribute('placeholder', package[data]);
  71. };
  72. for (var i = 0, len = $value.length; i < len; i++) {
  73. var data = $value[i].getAttribute('data-lang');
  74. $value[i].value = package[data];
  75. };
  76. for (var i = 0, len = $src.length; i < len; i++) {
  77. var data = $src[i].getAttribute('data-lang');
  78. $src[i].setAttribute('src', package[data]);
  79. };
  80. for (var i = 0, len = $bg.length; i < len; i++) {
  81. var data = $bg[i].getAttribute('data-langBg');
  82. if (package[data] == '') {
  83. $bg[i].classList.remove('en');
  84. } else {
  85. $bg[i].classList.add('en');
  86. }
  87. };
  88. } //改变语言
  89. function initNav() {
  90. var $nav = document.getElementsByClassName('subnav-inner')[0];
  91. var $text = $nav.getElementsByClassName('lang-text');
  92. var div = document.createElement('div');
  93. var style = {
  94. box: 'width:calc(100% - 20px);background:#09e1c0;color:white;display:flex;display:-webkit-flex;align-items:center;justify-content:center;height:36px;margin: 0 auto;font-size:15px;border-radius: 5px;margin-top: 2vh;'
  95. }
  96. div.setAttribute('class', 'languageBox lang-text'), div.setAttribute('style', style.box), div.setAttribute('data-lang', 'change_lang');
  97. $nav.appendChild(div);
  98. div.addEventListener('touchend', function() {
  99. if (div.innerText == '简体中文') {
  100. changeLang('zh');
  101. } else {
  102. changeLang('en');
  103. }
  104. var $subnav = document.getElementsByClassName('subnav')[0];
  105. var $Btn = document.getElementsByClassName('mainbav-showBtn')[0],
  106. $shade = document.getElementsByClassName('body-shade')[0];
  107. $subnav.classList.remove('showSubnav'), $Btn.classList.remove('active'), $shade.classList.remove('active');
  108. });
  109. var package = language_package(lang);
  110. for (var i = 0, len = $text.length; i < len; i++) {
  111. var data = $text[i].getAttribute('data-lang');
  112. $text[i].innerText = package[data];
  113. };
  114. } //专为导航栏初始化定制
  115. var api = {
  116. change: changeLang,
  117. get: getLang,
  118. init_nav: initNav,
  119. }
  120. return api
  121. }());