Authored by 毕凯

Merge branch 'feature/web/search' into develop

@@ -179,7 +179,7 @@ @@ -179,7 +179,7 @@
179 </div> 179 </div>
180 {{/if}} 180 {{/if}}
181 181
182 - <div class="size section {{#unless size}}hide{{/unless}}"> 182 + <div class="size section {{#unless size}}hide{{/unless}}" {{#if size}}data-load="true"{{/if}}>
183 <span class="title">尺码:</span> 183 <span class="title">尺码:</span>
184 184
185 <div class="attr-content clearfix"> 185 <div class="attr-content clearfix">
@@ -111,26 +111,28 @@ $('.sort-pre').on('click', 'li', function() { @@ -111,26 +111,28 @@ $('.sort-pre').on('click', 'li', function() {
111 $sortSub.children(':not(.hide)').addClass('hide'); 111 $sortSub.children(':not(.hide)').addClass('hide');
112 $sortSub.children(':eq(' + index + ')').removeClass('hide'); 112 $sortSub.children(':eq(' + index + ')').removeClass('hide');
113 113
114 - if (sizeCache[id]) {  
115 - $sizeWrap.find('.attr-content').html(sizeCache[id]);  
116 - $sizeWrap.removeClass('hide');  
117 - } else {  
118 - $.ajax({  
119 - url: '/product/search/sortSize',  
120 - data: {  
121 - msort: id  
122 - }  
123 - }).then(function(res) {  
124 - if ($.type(res) === 'array' && res.length) {  
125 - sizeCache[id] = sizeTmpl({  
126 - size: res  
127 - });  
128 - $sizeWrap.find('.attr-content').html(sizeCache[id]);  
129 - $sizeWrap.removeClass('hide');  
130 - } else {  
131 - $sizeWrap.addClass('hide');  
132 - }  
133 - }); 114 + if (!$sizeWrap.data('load')) {
  115 + if (sizeCache[id]) {
  116 + $sizeWrap.find('.attr-content').html(sizeCache[id]);
  117 + $sizeWrap.removeClass('hide');
  118 + } else {
  119 + $.ajax({
  120 + url: '/product/search/sortSize',
  121 + data: {
  122 + msort: id
  123 + }
  124 + }).then(function(res) {
  125 + if ($.type(res) === 'array' && res.length) {
  126 + sizeCache[id] = sizeTmpl({
  127 + size: res
  128 + });
  129 + $sizeWrap.find('.attr-content').html(sizeCache[id]);
  130 + $sizeWrap.removeClass('hide');
  131 + } else {
  132 + $sizeWrap.addClass('hide');
  133 + }
  134 + });
  135 + }
134 } 136 }
135 }); 137 });
136 138
@@ -14,7 +14,8 @@ var $goodsContainer = $('.goods-container'), @@ -14,7 +14,8 @@ var $goodsContainer = $('.goods-container'),
14 $goodInfoMain = $goodsContainer.find('.good-info-main'), 14 $goodInfoMain = $goodsContainer.find('.good-info-main'),
15 $goodSelectColor = $goodsContainer.find('.good-select-color'), 15 $goodSelectColor = $goodsContainer.find('.good-select-color'),
16 $productListNav = $('.product-list-nav'), 16 $productListNav = $('.product-list-nav'),
17 - productList; 17 + productList,
  18 + getProductAjax;
18 19
19 lazyLoad($('img.lazy')); 20 lazyLoad($('img.lazy'));
20 21
@@ -95,7 +96,12 @@ exports.init = function(num) { @@ -95,7 +96,12 @@ exports.init = function(num) {
95 wrapperPt, //鼠标移入时弹层的上内边距 96 wrapperPt, //鼠标移入时弹层的上内边距
96 containerPt; //商品列表容器的上内边距 97 containerPt; //商品列表容器的上内边距
97 98
98 - $.ajax({ 99 + // 获取图片之前,先把获取上一张图片的ajax请求取消。 网络差的时候会出现错误
  100 + if (getProductAjax) {
  101 + getProductAjax.abort();
  102 + }
  103 +
  104 + getProductAjax = $.ajax({
99 type: 'POST', 105 type: 'POST',
100 url: '/product/list/getProductPic', 106 url: '/product/list/getProductPic',
101 dataType: 'json', 107 dataType: 'json',