/** * author Carloss.hl * 2014-05-11 * version 0.1 */ window.HL = window.HL || {}; var HL = window.HL, pageLoad, bodyHeight; HL.COMMON = { pageLoad: function(type){ //统计 window.mobileStatisticsRequest && window.mobileStatisticsRequest(false); //userAgent var userAgent = window.navigator.userAgent.toLowerCase(); if (userAgent.indexOf('android') != -1) { $('.index-body-bg').remove(); } if (userAgent.indexOf('iphone') != -1) { $('.power-num-container').css('position', 'fixed'); } //显示主体 $('.page-load-container').css('opacity', 1); switch (type) { case 'introducePage': HL.COMMON.initIntroduceSwipe(); //HL.COMMON.wxOptionMenu(true); //HL.COMMON.wxToolbar(false); break; case 'winningFormPage': HL.COMMON.bindSwitchSex(); //HL.COMMON.wxOptionMenu(false); //HL.COMMON.wxToolbar(false); break; case 'weekWinningFormPage': HL.COMMON.bindSwitchSex(); //HL.COMMON.wxOptionMenu(false); //HL.COMMON.wxToolbar(false); break; case 'winningNotice': //HL.COMMON.wxOptionMenu(true); //HL.COMMON.wxToolbar(false); break; case 'helpPage': if ($('div[data-id="helpPage"]').attr('data-msg')) { HL.COMMON.alert($('div[data-id="helpPage"]').attr('data-msg'), $('div[data-id="helpPage"]')); } //HL.COMMON.wxOptionMenu(true); //HL.COMMON.wxToolbar(false); break; case 'friendPage': HL.COMMON.bindTurnOnOff(); //初始化体力值 HL.COMMON.getPlayer(); //HL.COMMON.wxOptionMenu(false); //HL.COMMON.wxToolbar(false); break; case 'rankingPage': //HL.COMMON.wxOptionMenu(true); //HL.COMMON.wxToolbar(false); HL.COMMON.initRankingTab(); //HL.COMMON.bindWeekRankingMenu(); break; case 'indexPage': //初始声音开关 HL.COMMON.initAudioSwitch(); //初始化体力值 HL.COMMON.getPlayer() //菜单 //HL.COMMON.wxOptionMenu(!window.isSubscribe); //HL.COMMON.wxToolbar(false); break; } //网络状态 HL.COMMON.setPlayAudio(); HL.COMMON.getNetworkType(function(e){ if ($('div[data-id="introducePage"]')[0] || $('div[data-id="indexPage"]')[0]) HL.COMMON.setPlayAudio(); }); }, getPlayer: function(){ var _this = this; $.ajax({ url: GETPLAYERURL, method: 'POST', data: { //wxUserId: window.wxUserId }, success: function(data){ var data = data.message; $('#gatherNum').html(data.power); $('#zzNum').html(parseInt(data.power / 2000)); _this.setEngery(parseInt(data.energy, 10), 1, true); }, error: function(){ } }) }, wxOptionMenu: function(show){ show = show ? 'showOptionMenu' : 'hideOptionMenu'; setTimeout(function(){ window.WeixinJSBridge && window.WeixinJSBridge.call(show); }) setTimeout(function(){ window.WeixinJSBridge && window.WeixinJSBridge.call(show); }, 500) setTimeout(function(){ window.WeixinJSBridge && window.WeixinJSBridge.call(show); }, 1000) }, getNetworkType: function(callback, failure){ var _this = this; window.WeixinJSBridge && window.WeixinJSBridge.invoke('getNetworkType', {}, function(e){ if (e.err_msg == 'network_type:wifi') { if (typeof callback == 'function') { callback(e); } return; } else { if (typeof failure === 'function') { failure(e); } //非wifi执行 } }); }, wxToolbar: function(show){ // show = show ? 'showToolbar' : 'hideToolbar'; // setTimeout(function(){ // window.WeixinJSBridge && window.WeixinJSBridge.call(show); // }) // setTimeout(function(){ // window.WeixinJSBridge && window.WeixinJSBridge.call(show); // }, 500) // setTimeout(function(){ // window.WeixinJSBridge && window.WeixinJSBridge.call(show); // }, 1000) }, hasAudio: !($.cookie('index-swich-audio') == 'false'), initAudioSwitch: function(){ if (this.hasAudio) { $('.switch-audio').addClass('on').removeClass('off'); return; } $('.switch-audio').addClass('off').removeClass('on'); }, switchAudio: function(el){ if (this.hasAudio) { this.hasAudio = false; $(el).addClass('off').removeClass('on'); $.cookie('index-swich-audio', false); this.pauseAudio(); return; } this.hasAudio = true; $(el).addClass('on').removeClass('off'); $.cookie('index-swich-audio', true); }, pauseAudio: function(){ var normalAudios = $('.audio-item-normal'); var criticalAudios = $('.audio-item-critical'); var openAudios = $('.audio-item-open'); var winningAudios = $('.audio-item-winning'); try { normalAudios.each(function(){ //this.currentTime = 0; this.pause(); }) } catch (e) { } try { criticalAudios.each(function(){ //this.currentTime = 0; this.pause(); }) } catch (e) { } try { openAudios.each(function(){ //this.currentTime = 0; this.pause(); }) } catch (e) { } try { winningAudios.each(function(){ //this.currentTime = 0; this.pause(); }) } catch (e) { } }, playAudio: function(type){ if (!this.hasAudio) { return; } var audios; var normalAudios = $('.audio-item-normal'); var criticalAudios = $('.audio-item-critical'); var openAudios = $('.audio-item-open'); var winningAudios = $('.audio-item-winning'); switch (type) { case 'normal': audios = normalAudios; break; case 'critical': audios = criticalAudios; break; case 'open': audios = openAudios; break; case 'winning': audios = winningAudios; break; } if (audios.length <= 0) { return; } var rd = parseInt(Math.random() * ((audios.length - 1) - 0 + 1) + 0); try { //audios.eq(rd)[0].currentTime = 0; audios.eq(rd)[0].play(); } catch (e) { } }, setPlayAudio: function(){ var target = $('body'); $('.switch-audio').show(); if (target.attr('data-rendered') == 'true') { return; } var normalAudios = ['../addons/hl_zzz/template/audio/bu.mp3', '../addons/hl_zzz/template/audio/bloom.mp3', '../addons/hl_zzz/template/audio/fight.mp3', '../addons/hl_zzz/template/audio/bu.mp3', '../addons/hl_zzz/template/audio/XX.mp3', '../addons/hl_zzz/template/audio/kwdlh.mp3', '../addons/hl_zzz/template/audio/afs.mp3']; var criticalAudios = ['../addons/hl_zzz/template/audio/critical.mp3']; var winningAudios = ['../addons/hl_zzz/template/audio/winning.mp3']; var openAudios = ['../addons/hl_zzz/template/audio/open.mp3']; $(normalAudios).each(function(index){ var audio = $(''); target.append(audio); }) $(criticalAudios).each(function(index){ var audio = $(''); target.append(audio); }) $(openAudios).each(function(index){ var audio = $(''); target.append(audio); }) $(winningAudios).each(function(index){ var audio = $(''); target.append(audio); }) target.attr('data-rendered', true); }, /** * 设置体力值 */ setEngery: function(engery, duration, now){ var _this = this; var maxNum = $('div[data-id="indexPage"]')[0] ? parseInt($('div[data-id="indexPage"]').attr('data-energylimit'), 10) : parseInt($('div[data-id="friendPage"]').attr('data-energylimit'), 10); var powerNum = $('#powerNum'); var endNum = engery; if (endNum < 0) { return; } if (endNum > maxNum) { endNum = maxNum; } powerNum.attr('data-power', engery); _this.countUp(powerNum, engery, now); var percent = 100 - (endNum / maxNum) * 100; $('.power-bar-percent').css('transition', 'all '+(duration ? duration : 0.3)+'s ease').css('transform', 'translateX(-' + percent + '%) translateZ(0)'); }, /** * 计数 */ countUp: function(target, value, speed){ var _this = this; var countUp = target.data('countUp'); speed = speed ? speed : 1; if(speed === true){ target.html(value); return; } if (countUp) { clearInterval(countUp); } target.data('countUp', setInterval(function(){ var start = parseInt(target.html()); var to = value < start ? start - speed : start + speed; if (value < start) { if (to < value) { to = value; target.html(to); clearInterval(target.data('countUp')); return; } } else { if (to > value) { to = value; target.html(to); clearInterval(target.data('countUp')); return; } } if (start == value) { clearInterval(target.data('countUp')); return; } target.html(to); })) }, /** * 点击送米 */ powerClick: function(el){ var _this = this; var powerNum = parseInt($('#powerNum').attr('data-power'), 10); var energyCost = parseInt($('div[data-id="indexPage"]').attr('data-energycost'), 10); if (powerNum < energyCost) { _this.alert(TILI); return; } if ($(el).hasClass('disabled')) { return; } $(el).addClass('disabled'); _this.powerClickTimeout = setTimeout(function(){ pageLoad.showLoadMask(true, '正在努力传送中...'); }, 500); _this.playAudio('normal'); $.ajax({ url: POWERUPURL, method: 'POST', success: function(data){ console.log(data); if (data.message.success) { _this.powerAnimate(data.message.result); _this.setEnergyCost(); } if (_this.powerClickTimeout) { clearTimeout(_this.powerClickTimeout); _this.powerClickTimeout = null; } pageLoad.showLoadMask(false); $(el).removeClass('disabled'); }, error: function(){ if (_this.powerClickTimeout) { clearTimeout(_this.powerClickTimeout); _this.powerClickTimeout = null; } pageLoad.showLoadMask(false); $(el).removeClass('disabled'); } }) }, /** * 送米回调动画 */ powerAnimate: function(result){ var _this = this; var powerUpResult = result.powerUpResult; var doublePowerBuff = $('div[data-id="indexPage"]').attr('data-double') == 'true'; //体力不足 if (powerUpResult.type == 0) { _this.alert(TILI); } //一般送米 if (powerUpResult.type == 1) { _this.showBall(powerUpResult.value, result.power, result.weekPower, false, doublePowerBuff); } //大把送米 if (powerUpResult.type == 2) { _this.showBall(powerUpResult.value, result.power, result.weekPower, true, doublePowerBuff); } //送粽子 if (powerUpResult.type == 3) { _this.winningAlert(); } }, /** * 显示分数球 * @param {Object} value * @param {Object} critical * @param {Object} isDouble * @param {Object} callback */ showBall: function(value, power, weekPower, critical, isDouble){ var _this = this; var target = $('#powerButton').parent(); //var powerBall = $('#powerBall'); //var peopleImage = $('.people-image'); var soyaImage = $('.soya-image'); var indexBodyBg = $('.index-body-bg'); var normalStrike = '