common.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. // 头部侧边菜单栏
  2. $(".menu").click(function() {
  3. if ($(".warp-sidebar").css("display") == 'none') {
  4. var scrollTop = $(window).scrollTop();
  5. $(".menu img").attr("src", "/static/images/mobile/icon/close.png")
  6. $(".warp-sidebar").css("display", "block");
  7. $("body").css("overflow","hidden");
  8. $("body").css("position","fixed");
  9. document.body.style.top=-1*scrollTop+"px";
  10. $('.sidebar').stop(true, false).animate({
  11. 'right': '0rem'
  12. }, 300)
  13. // $("body").on('touchmove',function (e){
  14. // e.preventDefault();
  15. // });
  16. } else {
  17. var top = $('body').offset().top;
  18. top = -top
  19. $(".menu img").attr("src", "/static/images/mobile/icon/menu-bar.png");
  20. setTimeout(function(){
  21. $(".warp-sidebar").css("display", "none");
  22. $("body").css("overflow","scroll");
  23. $("body").css("position","relative");
  24. $("body").css("top","0px");
  25. window.scrollTo(0,top);
  26. },300)
  27. $('.sidebar').stop(true, false).animate({
  28. 'right': '-2.56rem'
  29. }, 300)
  30. }
  31. })
  32. // 头部侧边菜单栏2
  33. $(".menu-1").click(function() {
  34. if ($(".warp-sidebar").css("display") == 'none') {
  35. var scrollTop = $(window).scrollTop();
  36. $(".menu-1 img").attr("src", "/static/images/mobile/icon/close-white.png")
  37. $(".warp-sidebar").css("display", "block");
  38. $("body").css("overflow","hidden");
  39. $("body").css("position","fixed");
  40. document.body.style.top=-1*scrollTop+"px";
  41. $('.sidebar').stop(true, false).animate({
  42. 'right': '0rem'
  43. }, 300)
  44. } else {
  45. var top = $('body').offset().top;
  46. top = -top
  47. $(".menu-1 img").attr("src", "/static/images/mobile/icon/menu-bar-1.png");
  48. setTimeout(function(){
  49. $(".warp-sidebar").css("display", "none");
  50. $("body").css("overflow","scroll");
  51. $("body").css("position","relative");
  52. $("body").css("top","0px");
  53. window.scrollTo(0,top);
  54. },300)
  55. $('.sidebar').stop(true, false).animate({
  56. 'right': '-2.56rem'
  57. }, 300)
  58. }
  59. })
  60. // 菜单栏其他区域
  61. $(".warp-sidebar").click(function(e) {
  62. var target = $(e.target);
  63. if (target.closest(".sidebar").length != 0) return;
  64. var top = $('body').offset().top;
  65. top = -top
  66. $(".menu img").attr("src", "/static/images/mobile/icon/menu-bar.png")
  67. $(".menu-1 img").attr("src", "/static/images/mobile/icon/menu-bar-1.png")
  68. setTimeout(function(){
  69. $(".warp-sidebar").css("display", "none");
  70. $("body").css("overflow","scroll");
  71. $("body").css("position","relative");
  72. $("body").css("top","0px");
  73. window.scrollTo(0,top);
  74. },300)
  75.  $(".warp-sidebar").animate({
  76.   backgroundColor:'#FF0000'
  77. }, 1000)
  78. $('.sidebar').stop(true, false).animate({
  79. 'right': '-2.56rem'
  80. }, 300)
  81. })
  82. // 返回顶部
  83. $(function () {
  84. //检测屏幕高度
  85. var height = $(window).height();
  86. height = 3 / 4 * height;
  87. //scroll() 方法为滚动事件
  88. $(window).scroll(function () {
  89. if ($(window).scrollTop() > height) {
  90. $(".return-top").fadeIn(500);
  91. } else {
  92. $(".return-top").fadeOut(500);
  93. }
  94. });
  95. });
  96. $(".return-top").click(function () {
  97. $("html,body").animate({ scrollTop: '0px' }, 1000);
  98. });
  99. // 下载弹窗 设备判断
  100. var ModalHelper = (function (bodyCls) {
  101. var scrollTop;
  102. return {
  103. afterOpen: function () {
  104. scrollTop = document.scrollingElement.scrollTop;
  105. document.body.classList.add(bodyCls);
  106. document.body.style.top = -scrollTop + 'px';
  107. },
  108. beforeClose: function () {
  109. document.body.classList.remove(bodyCls);
  110. // scrollTop lost after set position:fixed, restore it back.
  111. document.scrollingElement.scrollTop = scrollTop;
  112. }
  113. };
  114. })('modal-open');
  115. //显示遮罩层
  116. function showMask() {
  117. document.getElementById("Mask-weChat").style.display = "block";
  118. ModalHelper.afterOpen();
  119. }
  120. //隐藏遮罩层
  121. function hideMask() {
  122. document.getElementById("Mask-weChat").style.display = 'none';
  123. ModalHelper.beforeClose();
  124. }
  125. //ios端显示遮罩层
  126. function showMask2() {
  127. document.getElementById("Mask-IOS").style.display = "block";
  128. document.getElementsByClassName("iosTip-container")[0].style.display = "block";
  129. ModalHelper.afterOpen();
  130. }
  131. //ios端隐藏遮罩层
  132. function hideMask2() {
  133. document.getElementById("Mask-IOS").style.display = 'none';
  134. document.getElementsByClassName("iosTip-container")[0].style.display = 'none';
  135. ModalHelper.beforeClose();
  136. }
  137. //判断设备是否使用微信浏览器打开的
  138. function is_weixn() {
  139. var ua = navigator.userAgent.toLowerCase();
  140. if (ua.match(/MicroMessenger/i) == "micromessenger") {
  141. return true;
  142. } else {
  143. return false;
  144. }
  145. }
  146. //判断是安卓还是iOS
  147. function which_device() {
  148. var u = navigator.userAgent;
  149. var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  150. var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  151. if (isAndroid) {
  152. return 'Android'
  153. }
  154. if (isiOS) {
  155. return 'iOS'
  156. }
  157. }
  158. $(".download").on("click", function () {
  159. //安卓游戏下载地址
  160. var android_down_url = $(this).find(".android_down_url").html();
  161. //IOS游戏下载地址
  162. var ios_down_url = $(this).find(".ios_down_url").html();
  163. //如果是微信浏览器则提示在浏览器上打开
  164. if (is_weixn() == true) {
  165. showMask();
  166. } else {
  167. if (which_device() == "Android") { //如果设备是安卓则直接下载
  168. if (android_down_url.length !== 0 && android_down_url !== "undefined") {
  169. $(this).find("a").attr("href", android_down_url);
  170. } else {
  171. $.alert("该游戏暂无安卓版本下载<br>请稍后再试", "提示");
  172. }
  173. } else if (which_device() == "iOS") { //如果设备是iOS
  174. //弹出提示遮罩层
  175. showMask2();
  176. if (ios_down_url.length !== 0 && ios_down_url !== "undefined") {
  177. $("#iosdlBtn").attr("href", 'itms-services://?action=download-manifest&url=' + ios_down_url);
  178. } else{
  179. $("#iosdlBtn").attr("href", 'javascript:;');
  180. }
  181. //在遮罩层的其他地方触点就会隐藏遮罩层
  182. document.getElementById("Mask-IOS").onclick = function () {
  183. hideMask2();
  184. }
  185. //点击遮罩层上的【知道了,立即下载】按钮隐藏提示框并且下载
  186. document.getElementById("iosdlBtn").onclick = function () {
  187. document.getElementById('setProcess-wrap').scrollTop = 0;
  188. if (ios_down_url.length !== 0 && ios_down_url !== "undefined") {
  189. // $("#iosdlBtn").attr("href", 'itms-services://?action=download-manifest&url=' + ios_down_url);
  190. } else {
  191. $.alert("该游戏暂无IOS版本下载<br>请稍后再试", "提示");
  192. }
  193. hideMask2();
  194. }
  195. } else {
  196. //除了这两种设备外的,如PC端,还是直接下载安卓的
  197. if (android_down_url.length !== 0 && android_down_url !== "undefined") {
  198. console.log(android_down_url);
  199. $(this).find("a").attr("href", android_down_url);
  200. } else {
  201. $.alert("该游戏暂无安卓版本下载请稍后再试", "提示");
  202. }
  203. }
  204. }
  205. })
  206. //判断是PC还是移动设备 true是PC,false是移动设备
  207. function IsPC() {
  208. var userAgentInfo = navigator.userAgent;
  209. var Agents = ["Android", "iPhone",
  210. "SymbianOS", "Windows Phone",
  211. "iPad", "iPod"
  212. ];
  213. var flag = true;
  214. for (var v = 0; v < Agents.length; v++) {
  215. if (userAgentInfo.indexOf(Agents[v]) > 0) {
  216. flag = false;
  217. break;
  218. }
  219. }
  220. return flag;
  221. }
  222. if (!IsPC()) {
  223. $(".pc").hide();
  224. }
  225. //延迟加载图片
  226. $(function () {
  227. var visible;
  228. $('img').each(function () {
  229. visible = $(this).offset().top - $(window).scrollTop();
  230. if ((visible > 0) && (visible < $(window).height())) {
  231. visible = true;
  232. } else {
  233. visible = false;
  234. }
  235. if (visible) {
  236. $(this).attr('src', $(this).attr('lazy-src'));
  237. }
  238. });
  239. $(window).scroll(function () {
  240. $('img').each(function () {
  241. if ('/static/images/icon/990-625.png' == $(this).attr('src') || '/static/images/icon/150-150.png' == $(this).attr('src') || '/static/images/icon/625-990.png' == $(this).attr('src') || '/static/images/icon/1200-200.png' == $(this).attr('src') || '/static/images/icon/1200-625.png' == $(this).attr('src')) {
  242. visible = $(this).offset().top - $(window).scrollTop();
  243. if ((visible > 0) && (visible < $(window).height())) {
  244. visible = true;
  245. } else {
  246. visible = false;
  247. }
  248. if (visible) {
  249. $(this).attr('src', $(this).attr('lazy-src'));
  250. }
  251. }
  252. });
  253. });
  254. });
  255. // 设置默认游戏icon
  256. $(".smallIcon").error(function () {
  257. $(this).attr("src", "/static/images/aoyou_game.png");
  258. })
  259. $(".new-img").error(function () {
  260. $(this).attr("src", "/static/images/icon/990_625.png");
  261. })
  262. // 进度条
  263. $(".gift_surplus").each(function () {
  264. var b = $(this).width();
  265. var a = $(this).parent(".warp_gift_surplus").width();
  266. if (a == b) {
  267. $(this).css("border-radius", "8px")
  268. }
  269. })
  270. if ($(".no_content").length > 0) {
  271. var head = $("header").height();
  272. var foot = $('footer').height();
  273. $(".no_content").height(aHigh-head-foot)
  274. }
  275. // 底部位置
  276. var iHigh = document.body.clientHeight;
  277. // var aHigh = window.screen.height;
  278. var aHigh = $(window).height()
  279. var head = $("header").height();
  280. // var h = $("footer").height();
  281. if (aHigh > (iHigh + head)) {
  282. $(".footer").addClass("fixed");
  283. }
  284. var winHeight = $(window).height(); //获取当前页面高度
  285. $(window).resize(function () {
  286. var thisHeight = $(this).height();
  287. if ( winHeight - thisHeight > 140 ) {
  288. //键盘弹出
  289. $('.footer').hide();
  290. } else {
  291. //键盘收起
  292. $('.footer').show();
  293. var iHigh = document.body.clientHeight;
  294. // var aHigh = window.screen.height;
  295. var aHigh = $(window).height()
  296. var head = $("header").height();
  297. if (aHigh > (iHigh + head)) {
  298. $(".footer").addClass("fixed");
  299. }
  300. }
  301. })