Merge branch 'feature/product' of http://git.dev.yoho.cn/web/yohobuy into feature/product
Showing
9 changed files
with
643 additions
and
176 deletions
@@ -4,5 +4,6 @@ require('./js/common'); | @@ -4,5 +4,6 @@ require('./js/common'); | ||
4 | 4 | ||
5 | require('./js/home/home'); | 5 | require('./js/home/home'); |
6 | require('./js/product/list'); | 6 | require('./js/product/list'); |
7 | +require('./js/product/product'); | ||
7 | 8 | ||
8 | module.exports = webYohobuy; | 9 | module.exports = webYohobuy; |
web-static/js/common/product-event.js
0 → 100644
1 | +/** | ||
2 | + *Description: 商品自定义事件 | ||
3 | + *Author: chenglong.wang@yoho.cn | ||
4 | + *Date: 2015/12/3 | ||
5 | + */ | ||
6 | + | ||
7 | +var $ = require('yoho.jquery'); | ||
8 | + | ||
9 | +function ProductEvent() { | ||
10 | + | ||
11 | + this.handlers = {}; | ||
12 | + | ||
13 | +} | ||
14 | + | ||
15 | +ProductEvent.prototype = { | ||
16 | + | ||
17 | + constructor: ProductEvent, | ||
18 | + | ||
19 | + addHandler: function(type, handler) { | ||
20 | + if (typeof this.handlers[type] === 'undefined') { | ||
21 | + this.handlers[type] = []; | ||
22 | + } | ||
23 | + this.handlers[type].push(handler); | ||
24 | + }, | ||
25 | + | ||
26 | + fire: function(event) { | ||
27 | + var handlers, | ||
28 | + i; | ||
29 | + | ||
30 | + if (!event.target) { | ||
31 | + | ||
32 | + event.target = this; | ||
33 | + } | ||
34 | + if (this.handlers[event.type] instanceof Array) { | ||
35 | + handlers = this.handlers[event.type]; | ||
36 | + for (i = 0; i < handlers.length; i++) { | ||
37 | + handlers[i](event); | ||
38 | + } | ||
39 | + } | ||
40 | + }, | ||
41 | + | ||
42 | + removeHandler: function(type, handler) { | ||
43 | + var handlers, | ||
44 | + i; | ||
45 | + | ||
46 | + if (this.handlers[type] instanceof Array) { | ||
47 | + handlers = this.handlers[type]; | ||
48 | + for (i = 0; i < handlers.length; i++) { | ||
49 | + if (handlers[i] === handler) { | ||
50 | + break; | ||
51 | + } | ||
52 | + } | ||
53 | + handlers.splice(i, 1); | ||
54 | + } | ||
55 | + } | ||
56 | +}; | ||
57 | + | ||
58 | +module.exports = function($o, rowWidth) { | ||
59 | + | ||
60 | + var pMouseHover = new ProductEvent(); | ||
61 | + | ||
62 | + var targetWidth = $o.eq(0).width(), | ||
63 | + targetHeight = $o.eq(0).height(), | ||
64 | + winW = $(window).width(); | ||
65 | + | ||
66 | + function handleEvent(event) { | ||
67 | + var $target, | ||
68 | + targetX = 0, | ||
69 | + targetY = 0, | ||
70 | + rowW = rowWidth, | ||
71 | + activeIndex = 0, | ||
72 | + $targetDuplicate = '', | ||
73 | + offsetL = 0, | ||
74 | + offsetR = 0; | ||
75 | + | ||
76 | + | ||
77 | + switch (event.type) { | ||
78 | + case 'mouseenter': | ||
79 | + | ||
80 | + $target = $(this); | ||
81 | + $targetDuplicate = $target.clone(); | ||
82 | + activeIndex = $target.index() + 1; | ||
83 | + targetX = (activeIndex % rowW) === 0 ? rowW : activeIndex % rowW; | ||
84 | + targetY = Math.ceil(activeIndex / rowW); | ||
85 | + offsetL = $target.offset().left; | ||
86 | + offsetR = winW - (offsetL + targetWidth); | ||
87 | + | ||
88 | + | ||
89 | + console.log($target.offset().left); | ||
90 | + | ||
91 | + pMouseHover.fire({ | ||
92 | + type: 'MouseEnter', | ||
93 | + target: $target, | ||
94 | + targetWidth: targetWidth, | ||
95 | + targetHeight: targetHeight, | ||
96 | + targetX: targetX, | ||
97 | + targetY: targetY, | ||
98 | + rowWidth: rowW, | ||
99 | + activeIndex: activeIndex, | ||
100 | + targetDuplicate: $targetDuplicate, | ||
101 | + offsetL: offsetL, | ||
102 | + offsetR: offsetR | ||
103 | + }); | ||
104 | + break; | ||
105 | + case 'mouseleave': | ||
106 | + pMouseHover.fire({ | ||
107 | + type: 'MouseLeave' | ||
108 | + }); | ||
109 | + break; | ||
110 | + } | ||
111 | + } | ||
112 | + | ||
113 | + $o.bind('mouseenter', handleEvent); | ||
114 | + | ||
115 | + //$o.bind('mouseleave', handleEvent); | ||
116 | + | ||
117 | + return pMouseHover; | ||
118 | +}; |
@@ -24,13 +24,6 @@ var $brandDefault = $('.brand .default'), | @@ -24,13 +24,6 @@ var $brandDefault = $('.brand .default'), | ||
24 | 24 | ||
25 | var $brandMoreTxt, $brandMoreIcon; | 25 | var $brandMoreTxt, $brandMoreIcon; |
26 | 26 | ||
27 | -//商品相关变量 | ||
28 | -var $goodsContainer = $('.goods-container'), | ||
29 | - $goodItem = $goodsContainer.find('.good-info'), | ||
30 | - $goodItemWrapper = $goodsContainer.find('.good-item-wrapper'), | ||
31 | - $goodInfoMain = $goodsContainer.find('.good-info-main'), | ||
32 | - $goodSelectColor = $goodsContainer.find('.good-select-color'); | ||
33 | - | ||
34 | //价格相关变量 | 27 | //价格相关变量 |
35 | var $udPrice = $('.ud-price-range'), | 28 | var $udPrice = $('.ud-price-range'), |
36 | interReg = /^\d+$/, | 29 | interReg = /^\d+$/, |
@@ -328,100 +321,3 @@ $('.senior-sub').on('click', '.multi-select', function() { | @@ -328,100 +321,3 @@ $('.senior-sub').on('click', '.multi-select', function() { | ||
328 | } | 321 | } |
329 | }); | 322 | }); |
330 | }()); | 323 | }()); |
331 | - | ||
332 | - | ||
333 | -/* | ||
334 | - * Description: 商品列表移入效果 | ||
335 | - * Added by wangchenglong at 2015/12/1 | ||
336 | - */ | ||
337 | - | ||
338 | -// 构造html | ||
339 | -function createColorList(data) { | ||
340 | - var colorListStr = '', | ||
341 | - len = data.length, | ||
342 | - row = 4, //每列ul放4个li | ||
343 | - col = Math.ceil(len / row), //需要几**列**ul | ||
344 | - i, | ||
345 | - j, | ||
346 | - index, | ||
347 | - ulNum = 0; | ||
348 | - | ||
349 | - for (i = 0; i < col; i++) { | ||
350 | - colorListStr += '<ul>'; | ||
351 | - for (j = 0; j < row; j++) { | ||
352 | - index = i * row + j; | ||
353 | - if (index === len) { | ||
354 | - break; | ||
355 | - } | ||
356 | - colorListStr += | ||
357 | - '<li>' + | ||
358 | - '<a href="' + data[i * row + j].url + '">' + | ||
359 | - '<img src="' + data[i * row + j].src + '" />' + | ||
360 | - '</a>' + | ||
361 | - '</li>'; | ||
362 | - | ||
363 | - if (j === row - 1) { | ||
364 | - colorListStr += '</ul>'; | ||
365 | - ulNum++; | ||
366 | - } | ||
367 | - } | ||
368 | - } | ||
369 | - if (ulNum < col) { | ||
370 | - colorListStr += '</ul>'; | ||
371 | - } | ||
372 | - return colorListStr; | ||
373 | -} | ||
374 | - | ||
375 | -//todo | ||
376 | -$goodItem.mouseenter(function() { | ||
377 | - var $cloneStr, | ||
378 | - activeIndex, | ||
379 | - X, | ||
380 | - left, | ||
381 | - Y, | ||
382 | - top, | ||
383 | - colNum = 5, | ||
384 | - itemW = 222, | ||
385 | - itemH = 400, | ||
386 | - itemMr = 10, | ||
387 | - itemMb = 35; | ||
388 | - | ||
389 | - activeIndex = $(this).index() + 1; | ||
390 | - | ||
391 | - X = (activeIndex % colNum) === 0 ? colNum : activeIndex % colNum; | ||
392 | - Y = Math.ceil(activeIndex / colNum); | ||
393 | - left = (X - 1) * (itemW + itemMr) + 15 - 21; | ||
394 | - top = (Y - 1) * (itemH + itemMb) + 25 - 19; | ||
395 | - | ||
396 | - $cloneStr = $(this).clone(); | ||
397 | - | ||
398 | - $goodInfoMain.html(''); | ||
399 | - $goodSelectColor.html(''); | ||
400 | - $goodItemWrapper.css({ | ||
401 | - display: 'none' | ||
402 | - }); | ||
403 | - $.ajax({ | ||
404 | - type: 'GET', | ||
405 | - url: '/product/index/productColor', | ||
406 | - dataType: 'json' | ||
407 | - }).then(function(data) { | ||
408 | - | ||
409 | - $goodInfoMain.append($cloneStr); | ||
410 | - $goodSelectColor.append($(createColorList(data))); | ||
411 | - }); | ||
412 | - | ||
413 | - $goodItemWrapper.css({ | ||
414 | - left: left, | ||
415 | - top: top, | ||
416 | - display: 'inline-block' | ||
417 | - }); | ||
418 | - | ||
419 | -}); | ||
420 | - | ||
421 | -$goodItemWrapper.mouseleave(function() { | ||
422 | - $goodInfoMain.html(''); | ||
423 | - $goodSelectColor.html(''); | ||
424 | - $goodItemWrapper.css({ | ||
425 | - display: 'none' | ||
426 | - }); | ||
427 | -}); |
web-static/js/product/product.js
0 → 100644
1 | +/** | ||
2 | + *Description: 商品列表页 | ||
3 | + *Author: chenglong.wang@yoho.cn | ||
4 | + *Date: 2015/12/2 | ||
5 | + */ | ||
6 | + | ||
7 | +var $ = require('yoho.jquery'), | ||
8 | + productEvent = require('../common/product-event'); | ||
9 | + | ||
10 | +var $goodsContainer = $('.goods-container'), | ||
11 | + $goodItem = $goodsContainer.find('.good-info'), | ||
12 | + $goodItemWrapper = $goodsContainer.find('.good-item-wrapper'), | ||
13 | + $goodInfoMain = $goodsContainer.find('.good-info-main'), | ||
14 | + $goodSelectColor = $goodsContainer.find('.good-select-color'); | ||
15 | + | ||
16 | +var MouseOver = productEvent($goodItem, 5); | ||
17 | + | ||
18 | +/** | ||
19 | + * @description 构造商品颜色列表的html结构 | ||
20 | + * @param data 商品颜色的数组,[url: '',src: ''] | ||
21 | + * @return json {'colorListStr': '', 'ulNum': ''} | ||
22 | + * */ | ||
23 | +function createColorList(data) { | ||
24 | + var colorListStr = '', | ||
25 | + len = data.length, | ||
26 | + row = 4, //每列ul放4个li | ||
27 | + col = Math.ceil(len / row), //需要几**列**ul | ||
28 | + i, | ||
29 | + j, | ||
30 | + index, | ||
31 | + ulNum = 0; | ||
32 | + | ||
33 | + for (i = 0; i < col; i++) { | ||
34 | + colorListStr += '<ul>'; | ||
35 | + for (j = 0; j < row; j++) { | ||
36 | + index = i * row + j; | ||
37 | + if (index === len) { | ||
38 | + break; | ||
39 | + } | ||
40 | + colorListStr += | ||
41 | + '<li>' + | ||
42 | + '<a href="' + data[i * row + j].url + '">' + | ||
43 | + '<img src="' + data[i * row + j].src + '" />' + | ||
44 | + '</a>' + | ||
45 | + '</li>'; | ||
46 | + | ||
47 | + if (j === row - 1) { | ||
48 | + colorListStr += '</ul>'; | ||
49 | + ulNum++; | ||
50 | + } | ||
51 | + } | ||
52 | + } | ||
53 | + if (ulNum < col) { | ||
54 | + colorListStr += '</ul>'; | ||
55 | + } | ||
56 | + return { | ||
57 | + colorListStr: colorListStr, | ||
58 | + ulNum: col | ||
59 | + }; | ||
60 | +} | ||
61 | + | ||
62 | +MouseOver.addHandler('MouseEnter', function(event) { | ||
63 | + | ||
64 | + var itemMr = 10, //list的右边距 | ||
65 | + itemMb = 35, //list的下边距 | ||
66 | + ulStr = '', | ||
67 | + ulNum, | ||
68 | + wrapperWidth, | ||
69 | + diffWidth, | ||
70 | + wrapperX = (event.targetX - 1) * (event.targetWidth + itemMr) - 21, | ||
71 | + wrapperY = (event.targetY - 1) * (event.targetHeight + itemMb) + 25 - 19; | ||
72 | + | ||
73 | + $goodInfoMain.html(''); | ||
74 | + $goodSelectColor.html(''); | ||
75 | + $goodItemWrapper.css({ | ||
76 | + display: 'none' | ||
77 | + }); | ||
78 | + $.ajax({ | ||
79 | + type: 'GET', | ||
80 | + url: '/product/index/productColor', | ||
81 | + dataType: 'json' | ||
82 | + }).then(function(data) { | ||
83 | + | ||
84 | + ulStr = createColorList(data).colorListStr; | ||
85 | + ulNum = createColorList(data).ulNum; | ||
86 | + | ||
87 | + $goodInfoMain.append(event.targetDuplicate); | ||
88 | + $goodSelectColor.append($(ulStr)); | ||
89 | + wrapperWidth = 10 + (15 + 50) * ulNum + event.targetWidth; | ||
90 | + | ||
91 | + // | ||
92 | + diffWidth = event.offsetR - ((15 + 50) * ulNum + 25); | ||
93 | + if (diffWidth <= 0) { | ||
94 | + wrapperX = wrapperX + diffWidth; | ||
95 | + } | ||
96 | + $goodItemWrapper.css({ | ||
97 | + width: wrapperWidth, | ||
98 | + left: wrapperX, | ||
99 | + top: wrapperY, | ||
100 | + display: 'inline-block' | ||
101 | + }); | ||
102 | + | ||
103 | + }); | ||
104 | +}); | ||
105 | + | ||
106 | +$goodItemWrapper.mouseleave(function() { | ||
107 | + $goodInfoMain.html(''); | ||
108 | + $goodSelectColor.html(''); | ||
109 | + $goodItemWrapper.css({ | ||
110 | + display: 'none' | ||
111 | + }); | ||
112 | +}); |
1 | -@import "search", "list", "filter-box", "sort-pager"; | ||
1 | +@import "search", "list", "filter-box", "sort-pager"; | ||
2 | +.products-page { | ||
3 | + .filter-box { | ||
4 | + border: 1px solid #dfdfdf; | ||
5 | + } | ||
6 | + | ||
7 | + .section { | ||
8 | + padding: 10px 15px; | ||
9 | + font-size: 14px; | ||
10 | + border-top: 1px solid #dfdfdf; | ||
11 | + | ||
12 | + &:first-child { | ||
13 | + border-top: none; | ||
14 | + background: #eaeceb; | ||
15 | + } | ||
16 | + } | ||
17 | + | ||
18 | + .title { | ||
19 | + float: left; | ||
20 | + width: 90px; | ||
21 | + line-height: 30px; | ||
22 | + } | ||
23 | + | ||
24 | + .attr-content { | ||
25 | + margin-left: 90px; | ||
26 | + } | ||
27 | + | ||
28 | + .multi-select { | ||
29 | + display: inline-block; | ||
30 | + width: 60px; | ||
31 | + height: 18px; | ||
32 | + line-height: 18px; | ||
33 | + border: 1px solid #000; | ||
34 | + text-align: center; | ||
35 | + cursor: pointer; | ||
36 | + } | ||
37 | + | ||
38 | + .attr { | ||
39 | + display: block; | ||
40 | + float: left; | ||
41 | + padding: 0 10px; | ||
42 | + margin-right: 30px; | ||
43 | + line-height: 30px; | ||
44 | + cursor: pointer; | ||
45 | + | ||
46 | + &:first-child { | ||
47 | + margin-left: 0; | ||
48 | + } | ||
49 | + | ||
50 | + -moz-user-select: none; | ||
51 | + } | ||
52 | + | ||
53 | + .checked-conditions { | ||
54 | + line-height: 30px; | ||
55 | + | ||
56 | + .tag { | ||
57 | + display: block; | ||
58 | + float: left; | ||
59 | + padding: 0 10px; | ||
60 | + margin-right: 30px; | ||
61 | + background: #000; | ||
62 | + color: #fff; | ||
63 | + cursor: pointer; | ||
64 | + } | ||
65 | + | ||
66 | + .color-block { | ||
67 | + height: 14px; | ||
68 | + width: 14px; | ||
69 | + border: 1px solid #fff; | ||
70 | + margin-bottom: -3px; | ||
71 | + } | ||
72 | + | ||
73 | + .clear-checked { | ||
74 | + color: #999; | ||
75 | + float: right; | ||
76 | + } | ||
77 | + } | ||
78 | + | ||
79 | + .sort-sub-wrap { | ||
80 | + width: 100%; | ||
81 | + | ||
82 | + .sort-sub { | ||
83 | + padding: 15px 0; | ||
84 | + } | ||
85 | + } | ||
86 | + | ||
87 | + .brand { | ||
88 | + position: relative; | ||
89 | + | ||
90 | + .attr { | ||
91 | + box-sizing: border-box; | ||
92 | + width: 20%; | ||
93 | + margin: 0; | ||
94 | + overflow: hidden; | ||
95 | + white-space: nowrap; | ||
96 | + text-overflow: ellipsis; | ||
97 | + } | ||
98 | + | ||
99 | + .attr-content { | ||
100 | + max-width: 900px; | ||
101 | + } | ||
102 | + | ||
103 | + .brand-opt { | ||
104 | + position: absolute; | ||
105 | + right: 20px; | ||
106 | + top: 15px; | ||
107 | + } | ||
108 | + | ||
109 | + .brand-more { | ||
110 | + margin-right: 20px; | ||
111 | + cursor: pointer; | ||
112 | + } | ||
113 | + | ||
114 | + .brands-index { | ||
115 | + float: left; | ||
116 | + line-height: 30px; | ||
117 | + | ||
118 | + span { | ||
119 | + margin: 0 5px; | ||
120 | + cursor: pointer; | ||
121 | + -moz-user-select: none; | ||
122 | + | ||
123 | + &:first-child { | ||
124 | + margin-left: 10px; | ||
125 | + } | ||
126 | + } | ||
127 | + } | ||
128 | + | ||
129 | + .brand-search { | ||
130 | + float: left; | ||
131 | + height: 18px; | ||
132 | + line-height: 18px; | ||
133 | + border: 1px solid #b0b0b0; | ||
134 | + margin-top: 5px; | ||
135 | + margin-left: 15px; | ||
136 | + | ||
137 | + input { | ||
138 | + float: left; | ||
139 | + border: none; | ||
140 | + width: 100px; | ||
141 | + height: 18px; | ||
142 | + padding: 0; | ||
143 | + } | ||
144 | + | ||
145 | + .btn { | ||
146 | + display: inline-block; | ||
147 | + width: 55px; | ||
148 | + height: 18px; | ||
149 | + background: #b0b0b0; | ||
150 | + color: #fff; | ||
151 | + text-align: center; | ||
152 | + cursor: default; | ||
153 | + } | ||
154 | + } | ||
155 | + | ||
156 | + .panel-body { | ||
157 | + padding: 15px 20px; | ||
158 | + margin-top: 5px; | ||
159 | + background: #f4f7f6; | ||
160 | + min-height: 30px; | ||
161 | + border: 1px solid #000; | ||
162 | + } | ||
163 | + } | ||
164 | + | ||
165 | + .btns { | ||
166 | + display: none; | ||
167 | + margin-top: 10px; | ||
168 | + text-align: center; | ||
169 | + } | ||
170 | + | ||
171 | + .multi .btns { | ||
172 | + display: block; | ||
173 | + } | ||
174 | + | ||
175 | + .multi-select-ok, .multi-select-cancel { | ||
176 | + width: 55px; | ||
177 | + height: 24px; | ||
178 | + border: none; | ||
179 | + background: #000; | ||
180 | + color: #fff; | ||
181 | + font-size: 15px; | ||
182 | + margin-right: 15px; | ||
183 | + cursor: pointer; | ||
184 | + | ||
185 | + &.dis { | ||
186 | + background: #ccc; | ||
187 | + } | ||
188 | + } | ||
189 | + | ||
190 | + .ud-price-range { | ||
191 | + margin-top: 2px; | ||
192 | + } | ||
193 | + | ||
194 | + .limit { | ||
195 | + height: 22px; | ||
196 | + width: 42px; | ||
197 | + border: 1px solid #ccc; | ||
198 | + padding: 0; | ||
199 | + } | ||
200 | + | ||
201 | + .price-sep { | ||
202 | + margin: 0 5px; | ||
203 | + } | ||
204 | + | ||
205 | + .price-sure { | ||
206 | + height: 24px; | ||
207 | + width: 44px; | ||
208 | + border: 1px solid #e0e0e0; | ||
209 | + background: #fff; | ||
210 | + color: #666; | ||
211 | + margin-left: 10px; | ||
212 | + } | ||
213 | + | ||
214 | + .color-block { | ||
215 | + display: inline-block; | ||
216 | + height: 22px; | ||
217 | + width: 22px; | ||
218 | + border: 1px solid #ccc; | ||
219 | + margin-bottom: -6px; | ||
220 | + margin-right: 5px; | ||
221 | + } | ||
222 | + | ||
223 | + .senior { | ||
224 | + padding-bottom: 6px; | ||
225 | + | ||
226 | + .attr-content { | ||
227 | + position: relative; | ||
228 | + } | ||
229 | + } | ||
230 | + | ||
231 | + .senior-attr-wrap { | ||
232 | + position: relative; | ||
233 | + } | ||
234 | + | ||
235 | + .senior-attr-wrap > .attr:hover, | ||
236 | + .senior-attr-wrap > .attr.hover { | ||
237 | + > .iconfont { | ||
238 | + visibility: hidden; | ||
239 | + } | ||
240 | + | ||
241 | + .senior-up-icon { | ||
242 | + visibility: visible; | ||
243 | + } | ||
244 | + } | ||
245 | + | ||
246 | + .senior-sub { | ||
247 | + box-sizing: border-box; | ||
248 | + position: absolute; | ||
249 | + padding: 15px 0; | ||
250 | + left: 0; | ||
251 | + right: 0; | ||
252 | + top: 39px; | ||
253 | + background: #fff; | ||
254 | + border: 1px solid #eaeceb; | ||
255 | + | ||
256 | + ul { | ||
257 | + max-width: 950px; | ||
258 | + } | ||
259 | + | ||
260 | + &.multi .multi-select { | ||
261 | + display: none; | ||
262 | + } | ||
263 | + | ||
264 | + .multi-select { | ||
265 | + position: absolute; | ||
266 | + top: 20px; | ||
267 | + right: 15px; | ||
268 | + } | ||
269 | + } | ||
270 | + | ||
271 | + .senior-up-icon { | ||
272 | + width: 100%; | ||
273 | + height: 9px; | ||
274 | + z-index: 1; | ||
275 | + margin-left: -11px; | ||
276 | + visibility: hidden; | ||
277 | + | ||
278 | + background: image-url('product/senior-up.png') no-repeat; | ||
279 | + background-position-x: 50%; | ||
280 | + } | ||
281 | + | ||
282 | + .checkbox { | ||
283 | + display: none; | ||
284 | + } | ||
285 | + | ||
286 | + .multi .checkbox { | ||
287 | + display: inline; | ||
288 | + } | ||
289 | + .opt-banner { | ||
290 | + height: 48px; | ||
291 | + background: #f5f7f6; | ||
292 | + line-height: 48px; | ||
293 | + margin: 10px 0; | ||
294 | + | ||
295 | + .sort-type, | ||
296 | + .checks { | ||
297 | + color: #ccc; | ||
298 | + font-size: 14px; | ||
299 | + padding: 0 10px; | ||
300 | + | ||
301 | + .iconfont { | ||
302 | + font-size: 14px; | ||
303 | + } | ||
304 | + | ||
305 | + &.active, | ||
306 | + &.checked { | ||
307 | + color: #000; | ||
308 | + } | ||
309 | + } | ||
310 | + | ||
311 | + .pager-wrap { | ||
312 | + float: right; | ||
313 | + padding: 15px 0; | ||
314 | + } | ||
315 | + | ||
316 | + .line-count { | ||
317 | + float: left; | ||
318 | + padding: 3px 1px 3px 3px; | ||
319 | + border: 1px solid #ccc; | ||
320 | + margin-right: 10px; | ||
321 | + | ||
322 | + span { | ||
323 | + float: left; | ||
324 | + width: 5px; | ||
325 | + height: 10px; | ||
326 | + background: #ccc; | ||
327 | + margin-right: 2px; | ||
328 | + } | ||
329 | + | ||
330 | + &.active { | ||
331 | + border-color: #222; | ||
332 | + span { | ||
333 | + background: #222; | ||
334 | + } | ||
335 | + } | ||
336 | + } | ||
337 | + | ||
338 | + .page-count { | ||
339 | + position: relative; | ||
340 | + height: 18px; | ||
341 | + float: left; | ||
342 | + font-size: 12px; | ||
343 | + line-height: 18px; | ||
344 | + | ||
345 | + > span { | ||
346 | + float: left; | ||
347 | + display: block; | ||
348 | + width: 42px; | ||
349 | + height: 10px; | ||
350 | + line-height: 10px; | ||
351 | + padding: 3px; | ||
352 | + border: 1px solid #ccc; | ||
353 | + color: #222; | ||
354 | + cursor: pointer; | ||
355 | + margin-right: 10px; | ||
356 | + } | ||
357 | + | ||
358 | + .iconfont { | ||
359 | + font-size: 14px; | ||
360 | + color: #ccc; | ||
361 | + float: right; | ||
362 | + } | ||
363 | + | ||
364 | + > ul { | ||
365 | + position: absolute; | ||
366 | + display: none; | ||
367 | + width: 42px; | ||
368 | + padding: 0 3px; | ||
369 | + border-left: 1px solid #ccc; | ||
370 | + border-right: 1px solid #ccc; | ||
371 | + } | ||
372 | + | ||
373 | + li { | ||
374 | + border-bottom: 1px solid #ccc; | ||
375 | + } | ||
376 | + | ||
377 | + a { | ||
378 | + display: block; | ||
379 | + width: 100%; | ||
380 | + } | ||
381 | + } | ||
382 | + | ||
383 | + .pager { | ||
384 | + float: left; | ||
385 | + font-size: 14px; | ||
386 | + line-height: 15px; | ||
387 | + margin: 0 20px; | ||
388 | + | ||
389 | + .dis-icon { | ||
390 | + color: #e6e6e6; | ||
391 | + } | ||
392 | + | ||
393 | + i { | ||
394 | + color: #f00; | ||
395 | + } | ||
396 | + } | ||
397 | + } | ||
398 | +} |
1 | +/* | ||
2 | + *Description: 商品列表 | ||
3 | + *Author: chenglong.wang@yoho.cn | ||
4 | + *Date: 2015/12/1 | ||
5 | + */ | ||
6 | + | ||
1 | .product-search-page { | 7 | .product-search-page { |
2 | - /*商品列表 | ||
3 | - *Added by wangchenglong at 2015/12/1 | ||
4 | - */ | 8 | + |
9 | + //todo | ||
10 | + | ||
5 | .goods-container { | 11 | .goods-container { |
6 | height: auto; | 12 | height: auto; |
7 | - padding: 25px 15px 0 15px; | ||
8 | - overflow: hidden; | 13 | + padding: 25px 0 0 0; |
9 | position: relative; | 14 | position: relative; |
10 | - width: 1150px + 10px; | 15 | + width: 1150px + 10px;//每列增加右边距 |
11 | 16 | ||
12 | //标签 | 17 | //标签 |
13 | .tag-container { | 18 | .tag-container { |
@@ -153,67 +158,5 @@ | @@ -153,67 +158,5 @@ | ||
153 | margin-right: 10px; | 158 | margin-right: 10px; |
154 | } | 159 | } |
155 | } | 160 | } |
156 | - | ||
157 | - //每行六个商品 | ||
158 | - &.six-per-line { | ||
159 | - .good-info { | ||
160 | - height: 400px; //todo | ||
161 | - margin-bottom: 35px; | ||
162 | - width: 222px; | ||
163 | - | ||
164 | - //图片 | ||
165 | - .good-detail-img { | ||
166 | - width: 100%; | ||
167 | - height: 300px; | ||
168 | - position: relative; | ||
169 | - | ||
170 | - .good-thumb, img.lazy { | ||
171 | - display: block; | ||
172 | - overflow: hidden; | ||
173 | - width: 100%; | ||
174 | - height: 100%; | ||
175 | - } | ||
176 | - .few-tag { | ||
177 | - width: 100%; | ||
178 | - position: absolute; | ||
179 | - left: 0; | ||
180 | - height: 16px; | ||
181 | - line-height: 16px; | ||
182 | - background: #ffac5b; | ||
183 | - color: #fff; | ||
184 | - font-size: 12px; | ||
185 | - text-align: center; | ||
186 | - bottom: 0; | ||
187 | - } | ||
188 | - } | ||
189 | - | ||
190 | - //文本 | ||
191 | - .good-detail-text { | ||
192 | - color: #222; | ||
193 | - font-size: 12px; | ||
194 | - text-align: center; | ||
195 | - | ||
196 | - > a { | ||
197 | - margin-top: 16px; | ||
198 | - line-height: 1.5; | ||
199 | - display: block; | ||
200 | - } | ||
201 | - | ||
202 | - > .price { | ||
203 | - margin-top: 10px; | ||
204 | - } | ||
205 | - } | ||
206 | - | ||
207 | - .col-btn { | ||
208 | - position: absolute; | ||
209 | - top: 15px; | ||
210 | - right: 15px; | ||
211 | - color: #ccc; | ||
212 | - font-size: 12px; | ||
213 | - display: none; | ||
214 | - } | ||
215 | - } | ||
216 | - } | ||
217 | } | 161 | } |
218 | - //商品列表END | ||
219 | } | 162 | } |
-
Please register or login to post a comment