index.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. mui.init();
  2. mui('.mui-scroll-wrapper').scroll();
  3. var pageNumber = 1;
  4. var pageSize=10;
  5. var droploader;
  6. /**
  7. *初始化、添加监听
  8. */
  9. mui.ready(function(){
  10. getNav();
  11. getCategory();
  12. getProduct("");
  13. $('.mui-bar-tab').on('tap', 'a', function(e) {
  14. location.href=$(this).attr("href");
  15. });
  16. $(".mui-segmented-control").on("tap",".mui-control-item",function(e){
  17. pageNumber=1;
  18. $(".product").empty();
  19. $(".dropload-down").remove();
  20. getProduct($(this).attr("data-id"));
  21. });
  22. //跳转
  23. $(".product").on('tap','li',function(){
  24. location.href=base+'/mobile/productDetail.jsp?id='+$(this).attr('data-id');
  25. });
  26. //推广
  27. $(".tuiguang").on('tap',function(){
  28. if(user.is_share=='1'){
  29. $("#share").show();
  30. }else{
  31. location.href=base+'/mobile/userInfo.jsp?flag=1';
  32. }
  33. });
  34. //分享
  35. $(".share-bg").on('tap',function(){
  36. $("#share").hide();
  37. });
  38. //分享
  39. $(".share-img").on('tap',function(){
  40. $("#share").hide();
  41. });
  42. });
  43. /**
  44. *获取导航
  45. */
  46. function getNav(){
  47. mobile.ajaxPost(base+'/wxNav/getList',{},function(json){
  48. $(".nav").empty();
  49. if(json.data){
  50. $.each(json.data,function(id,item){
  51. if(item.type=="10"){//轮播
  52. $(".nav").append('<div id="slider" class="mui-slider">'+
  53. '<div class="mui-slider-group mui-slider-loop">'+
  54. '</div>'+
  55. '<div class="mui-slider-indicator">'+
  56. '</div>'+
  57. '</div>');
  58. $("#slider .mui-slider-group").append('<div class="mui-slider-item mui-slider-item-duplicate">'+
  59. '<a href="'+item.list[item.list.length-1].nav_url+'">'+
  60. '<img class="slider-lazy" data-original="'+imgUrl+item.list[item.list.length-1].nav_img+'" >'+
  61. '</a>'+
  62. '</div>');
  63. if(item.list.length>1){//数量大于1定时滚动
  64. $.each(item.list,function(id2,item2){
  65. $("#slider .mui-slider-group").append('<div class="mui-slider-item">'+
  66. '<a href="'+item2.nav_url+'">'+
  67. '<img class="slider-lazy" data-original="'+imgUrl+item2.nav_img+'" >'+
  68. '</a>'+
  69. '</div>');
  70. if(id2==0){
  71. $("#slider .mui-slider-indicator").append('<div class="mui-indicator mui-active"></div>');
  72. }else{
  73. $("#slider .mui-slider-indicator").append('<div class="mui-indicator"></div>');
  74. }
  75. });
  76. }else{//数量等于1
  77. $("#slider .mui-slider-group").append('<div class="mui-slider-item">'+
  78. '<a href="'+item.list[0].nav_url+'">'+
  79. '<img class="slider-lazy" data-original="'+imgUrl+item.list[0].nav_img+'" >'+
  80. '</a>'+
  81. '</div>');
  82. }
  83. $("#slider .mui-slider-group").append('<div class="mui-slider-item mui-slider-item-duplicate">'+
  84. '<a href="'+item.list[0].nav_url+'">'+
  85. '<img src="'+imgUrl+item.list[0].nav_img+'" >'+
  86. '</a>'+
  87. '</div>');
  88. if(item.list.length>1){
  89. var slider = mui("#slider");
  90. slider.slider({
  91. interval: 3000
  92. });
  93. }
  94. }
  95. });
  96. //$(".nav").append('<div class="tabbar"></div>');
  97. $("img.slider-lazy").lazyload({
  98. threshold : 200,
  99. effect: "fadeIn",
  100. placeholder: base+'/static/mobile/image/500.gif',
  101. skip_invisible : false
  102. });
  103. }
  104. },"");
  105. }
  106. function getCategory() {
  107. mobile.ajaxPost(base+'/productCategory/getList',{"navShow":"1"},function(json){
  108. if(json.data&&json.data.length>0){
  109. $(".mui-segmented-control .mui-scroll").append('<a class="mui-control-item mui-active" data-id="">全部</a>');
  110. $.each(json.data,function (id,item) {
  111. $(".mui-segmented-control .mui-scroll").append('<a class="mui-control-item" data-id="'+item.id+'">'+item.cat_name+'</a>');
  112. });
  113. }
  114. });
  115. }
  116. /**
  117. *获取导航
  118. */
  119. function getProduct(type){
  120. if (droploader){
  121. droploader.lock();
  122. droploader.noData();
  123. droploader.resetload();
  124. }
  125. if(!type){
  126. type="";
  127. }
  128. droploader = $('.product-content').dropload({
  129. scrollArea : window,
  130. loadDownFn : function(me){
  131. mobile.ajaxPost(base+'/product/getList',{
  132. type: type,
  133. pageSize: pageSize,
  134. pageNumber: pageNumber
  135. },function(json){
  136. if(json.list&&json.list.length>0){
  137. if(pageNumber==json.totalPage){
  138. me.lock();
  139. me.noData();
  140. }else{
  141. pageNumber++;
  142. }
  143. var html=[];
  144. jQuery.each(json.list,function(id,item){
  145. html.push('<li class="mui-table-view-cell mui-media" data-id="'+item.id+'">');
  146. html.push('<div class="product-img mui-pull-left">');
  147. html.push('<img src="'+imgUrl+item.product_main_img+'">');
  148. if(item.order_hour<=0){
  149. html.push('<span class="img-icon">免预约</span>')
  150. }
  151. html.push('</div>');
  152. html.push('<div class="mui-media-body pl10">');
  153. html.push('<p class="product-merchant mui-ellipsis">'+item.merchant_name+'</p>');
  154. html.push('<p class="product-title mui-ellipsis-2">'+item.product_name+'</p>');
  155. html.push('<p class="product-price items">');
  156. html.push('<em class="item"><b>¥</b>'+item.product_price+'<span class="del-line color3 ml5 fs12">'+item.product_old_price+'元</span>');
  157. if(item.share_price&&user.is_share=="1"){
  158. html.push('<span class="fs12 pl5" style="color:#e69809">佣金¥'+item.share_price+'</span></em>')
  159. }else{
  160. html.push('</em>')
  161. }
  162. if(item.time_status==0){
  163. html.push('<span class="mui-btn mui-btn-primary">马上抢</span>');
  164. }else if(item.time_status==1){
  165. html.push('<span class="mui-btn mui-btn-grey">已抢完</span>');
  166. }else if(item.time_status==2){
  167. html.push('<span class="mui-btn mui-btn-grey">已结束</span>');
  168. }else{
  169. html.push('<span class="mui-btn mui-btn-grey">已过期</span>');
  170. }
  171. html.push('</p>');
  172. html.push('<p class="main-color items product-time">');
  173. html.push('<span class="item end_time"></span>');
  174. if(item.time_status!=3){
  175. html.push('<span>'+item.visit_num+'人关注</span>');
  176. }else{
  177. html.push('<span class="color2">'+item.visit_num+'人关注</span>');
  178. }
  179. html.push('</p>');
  180. html.push('</div>');
  181. html.push('</li>');
  182. if(item.time_status!=3){
  183. clearInterval(interval);
  184. var interval= setInterval(function() {
  185. var data_id=item.id;
  186. var typeName;
  187. var time;
  188. var leftTime
  189. if(item.time_status==0){
  190. leftTime = (new Date(item.end_time.replace(/-/g, "/"))) - (new Date()); //计算剩余的毫秒数
  191. typeName = "结束";
  192. }else{
  193. leftTime = (new Date(item.use_time.replace(/-/g, "/"))) - (new Date()); //计算剩余的毫秒数
  194. typeName = "过期";
  195. }
  196. var days = parseInt(leftTime / 1000 / 60 / 60 / 24 , 10); //计算剩余的天数
  197. var hours = parseInt(leftTime / 1000 / 60 / 60 % 24 , 10); //计算剩余的小时
  198. var minutes = parseInt(leftTime / 1000 / 60 % 60, 10);//计算剩余的分钟
  199. var seconds = parseInt(leftTime / 1000 % 60, 10);//计算剩余的秒数
  200. hours = checkTime(hours);
  201. minutes = checkTime(minutes);
  202. seconds = checkTime(seconds);
  203. $("li[data-id='"+data_id+"'] .end_time").html("剩"+days+"天" + hours+"小时" + minutes+"分"+seconds+"秒"+typeName);
  204. }, 1000);
  205. }
  206. });
  207. $(".product").append(html.join(""));
  208. droploader.resetload();
  209. // $("img.product-lazy").lazyload({
  210. // threshold : 200,
  211. // effect: "fadeIn",
  212. // placeholder: base+'/static/mobile/image/100.gif',
  213. // skip_invisible : false
  214. // });
  215. }else{
  216. droploader.lock();
  217. droploader.noData();
  218. droploader.resetload();
  219. }
  220. });
  221. }
  222. });
  223. }
  224. function checkTime(i){ //将0-9的数字前面加上0,例1变为01
  225. if(i<10)
  226. {
  227. i = "0" + i;
  228. }
  229. return i;
  230. }