Authored by weiqingting

bug解决

@@ -83,7 +83,7 @@ InfiniteLoad.prototype.stop = function() { @@ -83,7 +83,7 @@ InfiniteLoad.prototype.stop = function() {
83 InfiniteLoad.prototype.__directionCalculation = function() { 83 InfiniteLoad.prototype.__directionCalculation = function() {
84 var p = this.options; 84 var p = this.options;
85 85
86 - if (p.offset.height && p.offset.height() > 0 && $(window).scrollTop() + $(window).height() >= p.offset.height()) { 86 + if (p.offset.height && p.offset.height() > 0 && $(window).scrollTop() + window.innerHeight >= p.offset.height()) {
87 return true; 87 return true;
88 } 88 }
89 return false; 89 return false;
@@ -93,31 +93,19 @@ module.exports = function(data) { @@ -93,31 +93,19 @@ module.exports = function(data) {
93 var $container = $('#newarrivals .goods-container'); 93 var $container = $('#newarrivals .goods-container');
94 var $load = $('.loading a'); 94 var $load = $('.loading a');
95 var load = new InfiniteLoad({ 95 var load = new InfiniteLoad({
  96 + index: 1,
96 offset: { 97 offset: {
97 height: function() { 98 height: function() {
98 return parseFloat($container.offset().top) + parseFloat($container.height()) - 200; 99 return parseFloat($container.offset().top) + parseFloat($container.height()) - 200;
99 } 100 }
100 } 101 }
101 }); 102 });
102 - var options; 103 + var loadAjax;
103 var url = data.url; 104 var url = data.url;
104 - var firstCount = data.firstCount;  
105 - var pageCount = data.pageCount;  
106 105
107 delete data.url; 106 delete data.url;
108 - delete data.firstCount;  
109 - delete data.pageCount;  
110 -  
111 -  
112 -  
113 - load.on('after', function(p) {  
114 -  
115 - data = $.extend({}, data, {  
116 - pageIndex: p.index  
117 - });  
118 -  
119 - data.pageCount = (data.pageIndex === 1) ? firstCount : pageCount;  
120 107
  108 + var loadAjax=function(url,data,count){
121 options = { 109 options = {
122 type: 'POST', 110 type: 'POST',
123 url: url, 111 url: url,
@@ -127,7 +115,10 @@ module.exports = function(data) { @@ -127,7 +115,10 @@ module.exports = function(data) {
127 var myTemplate; 115 var myTemplate;
128 116
129 if (code === 200) { 117 if (code === 200) {
130 - 118 + var len = data.goods.length%count;
  119 + var pos = data.goods.length-len-1;
  120 + data.goods.splice(pos,len);
  121 +
131 myTemplate = Handlebars.compile(load.tpl); 122 myTemplate = Handlebars.compile(load.tpl);
132 123
133 $container.append(myTemplate(data.goods)); 124 $container.append(myTemplate(data.goods));
@@ -150,23 +141,22 @@ module.exports = function(data) { @@ -150,23 +141,22 @@ module.exports = function(data) {
150 }; 141 };
151 142
152 $.ajax(options); 143 $.ajax(options);
  144 + }
  145 +
  146 +
  147 + load.on('after', function(p) {
  148 + data = $.extend({}, data, {
  149 + pageIndex: p.index
  150 + });
  151 +
  152 +
  153 + data.pageCount = data.count*data.rows[1];
  154 +
  155 + loadAjax(url,data);
153 }); 156 });
154 157
155 - load.on('before', function() {  
156 -  
157 - //请求模板  
158 - // load.tpl = '{{#each this}}';  
159 - // load.tpl += '<li>';  
160 - // load.tpl += ' <a href="{{url}}"><div class="commodity-img">';  
161 - // load.tpl += ' {{# tip}}';  
162 - // load.tpl += ' <i class="commodity-tag">{{.}}</i>';  
163 - // load.tpl += ' {{/ tip}}';  
164 - // load.tpl += ' <img class="lazy" data-original="{{img}}" src="{{img}}"/></div>';  
165 - // load.tpl += ' <p class="commodity-name">{{name}}</p>';  
166 - // load.tpl += ' <p class="commodity-price"><span>¥{{price}}</span></p>';  
167 - // load.tpl += ' </a>';  
168 - // load.tpl += '</li>';  
169 - // load.tpl += '{{/each}}'; 158 + load.on('before', function(p) {
  159 +
170 160
171 load.tpl = '{{#each this}}'; 161 load.tpl = '{{#each this}}';
172 load.tpl += '<div class="good-info" data-skn="{{skn}}">'; 162 load.tpl += '<div class="good-info" data-skn="{{skn}}">';
@@ -221,6 +211,14 @@ module.exports = function(data) { @@ -221,6 +211,14 @@ module.exports = function(data) {
221 load.tpl += '</div>'; 211 load.tpl += '</div>';
222 load.tpl += '{{/each}}'; 212 load.tpl += '{{/each}}';
223 213
  214 + data = $.extend({}, data, {
  215 + pageIndex: p.index
  216 + });
  217 +
  218 +
  219 + data.pageCount = data.count*data.rows[0];
  220 +
  221 + loadAjax(url,data,data.count);
224 222
225 load.emit(); 223 load.emit();
226 }); 224 });
@@ -24,8 +24,8 @@ if ($.inArray(homePage, ['boys','girls','kids','lifestyle']) > -1) { @@ -24,8 +24,8 @@ if ($.inArray(homePage, ['boys','girls','kids','lifestyle']) > -1) {
24 require('../common/new-arrivls')({ 24 require('../common/new-arrivls')({
25 type: homePage, 25 type: homePage,
26 url: '/common/getNewArrival', 26 url: '/common/getNewArrival',
27 - firstCount: homePage === ('boys' || 'lifestyle') ? '25' : '20',  
28 - pageCount: homePage === ('boys' || 'lifestyle') ? '15' : '12' 27 + count:(homePage === 'boys') || (homePage === 'lifestyle') ? 5 : 4,
  28 + rows:[5,3]
29 }); 29 });
30 window.setCookie('_Channel', homePage, { 30 window.setCookie('_Channel', homePage, {
31 domain: '.yohobuy.com', 31 domain: '.yohobuy.com',
@@ -413,7 +413,7 @@ @@ -413,7 +413,7 @@
413 .singlehot{ 413 .singlehot{
414 li a{ 414 li a{
415 width: 185px; 415 width: 185px;
416 - height: 284px; 416 + height: 248px;
417 } 417 }
418 .impo1,.impo9{ 418 .impo1,.impo9{
419 width: 378px; 419 width: 378px;