123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- /**
- *
- * @authors Your Name (you@example.org)
- * @date 2017-06-26 11:33:41
- * @version $Id$
- */
- var headerCompoCtrl = function () {
- var pageInit = function () {
- var isMobileMode = false;
- // 移动端则不需要处理
- if (document.documentElement.clientWidth <= 1080) {
- console.log('mobile mode');
- isMobileMode = true;
- isLangShow = false;
-
- langInit();
- mobileHeaderHandler();
- $('.nav-lang').on('click', function () {
- if (!isLangShow) {
- isLangShow = true;
- if ($('.lang-en').length) {
- $('.nav-lang').css('height', '3rem');
- } else {
- $('.nav-lang').css('height', '2rem');
- }
-
- $('.nav-lang-hidden').addClass('nav-lang-show');
- } else {
- isLangShow = false;
-
- $('.nav-lang').css('height', '1rem');
- $('.nav-lang-hidden').removeClass('nav-lang-show');
- }
-
- });
- return;
- }
- langInit();
- navRetract();
- };
- var langInit = function () {
- var langObj = {
- cn: '简体',
- // gb: '繁体',
- en: 'EN'
- };
- var currentLang = TD.util.getQuery('lang') || TD.util.getCookie('lang');
- // 根据当前语言设置导航栏的语言显示
- if (currentLang !== '') {
- $('.nav-lang-current').html('<div class="nav-lang-item">' + langObj[currentLang] + '</div>')
- $('.lang-' + currentLang).hide();
- } else {
- $('.lang-cn').hide();
- };
- if( currentLang == 'en' ){
- /*$('.nav-lang-current').html('<div class="nav-lang-item">' + langObj['cn'] + '</div>')
- $('.nav-lang-current').addClass('nav-lang-fixed-en')
- $('.lang-' + currentLang).hide();
- $('.lang-cn').hide();*/
- $('.nav-lang').remove();
- }
- // 事件委托
- $('.nav-lang-hidden').on('click', function () {
- var target = window.event.target || window.event.srcElement;
- if (target.nodeName.toLowerCase() === 'li') {
- // 识别选取的语言并转换成xx格式
- var nextLang = $(target).attr('class').match(/lang\-(cn|gb|en)/g).toString().replace('lang-', '');
- //TD.util.setCookie('lang',nextLang,7);
- if (TD.util.getQuery('lang') !== '') {
- location.href = location.href.replace('lang=' + currentLang, 'lang=' + nextLang);
- } else if (location.href.match('=')) {
- location.href += '&lang=' + nextLang;
- } else {
- location.href += '?lang=' + nextLang;
- };
- };
- });
- /*$('.nav-lang-fixed-en').on('click',function () {
- location.href = location.href.indexOf('lang=') > -1 ? location.href.replace('lang=' + currentLang, 'lang=' + 'cn') : location.href + '?lang=cn';
- })*/
- };
- var navRetract = function () {
- var isSliding = false;
- var timo = null;
- // 猫王频道不处理
- if ($('.subnav-thumb').length === 0) {
- return
- }
- setTimeout(function () {
- $('.subnav-main-wrap').slideUp(500, function () {
- $('.subnav-wrap').hover(function () {
- if (timo !== null) {
- clearTimeout(timo);
- }
-
- if (!isSliding) {
- isSliding = true;
- $('.subnav-main-wrap').slideDown(300, function () {
- isSliding = false;
- });
- };
- }, function () {
- timo = setTimeout(function () {
- if (!isSliding) {
- isSliding = true;
- $('.subnav-main-wrap').slideUp(300, function () {
- isSliding = false;
- });
- };
- }, 2000);
- })
- });
- }, 3000);
- };
- var mobileHeaderHandler = function () {
- var subnavReset = function () {
- $('.subnav-main-wrap').css('left', '0');
- $('.subnav-sub-wrap').css('left', '100%');
- $('.subnav-sub-wrap').hide();
- }
- $('.nav-menu').on('click', function () {
- $('.subnav-main-wrap').slideToggle();
- if ($('.subnav-main-wrap').css('left') !== '0') {
- subnavReset();
- }
- })
- $('.submenu').on('click', function () {
- $(this).find('.subnav-sub-wrap').show();
- $(this).find('.subnav-sub-wrap').animate({
- left: '0'
- })
- $('.subnav-main-wrap').animate({
- left: '-100%'
- })
- })
-
- $('.subnav-sub-item').on('click', function (evt) {
- evt.stopPropagation();
- $(this).find('.subnav-thr-wrap').show();
- $(this).find('.subnav-thr-wrap').animate({
- left: '0'
- })
- $('.subnav-sub-wrap').animate({
- left: '-100%'
- })
- })
- $('.subnav-sub-back').on('click', function (evt) {
- evt.stopPropagation();
- $('.subnav-main-wrap').animate({
- left: '0'
- }, 300, 'swing')
- $(this).parent().animate({
- left: '100%'
- }, 300, 'swing', function () {
- $(this).hide();
- })
- })
-
- $('.subnav-thr-back').on('click', function (evt) {
- evt.stopPropagation();
- $('.subnav-sub-wrap').animate({
- left: '0'
- }, 300, 'swing')
- $(this).parent().animate({
- left: '100%'
- }, 300, 'swing', function () {
- $(this).hide();
- })
- })
- }
- pageInit();
- }
- headerCompoCtrl();
|