Authored by 郭成尧

new-default

@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div id="new-goods"> 2 <div id="new-goods">
3 <div class="filter-nav-wrap" data-sticky> 3 <div class="filter-nav-wrap" data-sticky>
4 {{> common/filter-nav 4 {{> common/filter-nav
5 - firstOrderName='全部' 5 + firstOrderName='默认'
6 firstOrderValue='s_t_desc'}} 6 firstOrderValue='s_t_desc'}}
7 <div id="js-filter"></div> 7 <div id="js-filter"></div>
8 </div> 8 </div>
@@ -51,6 +51,7 @@ let searchView = function() { @@ -51,6 +51,7 @@ let searchView = function() {
51 let body = document.body; 51 let body = document.body;
52 let $c = $('#new-goods'); 52 let $c = $('#new-goods');
53 let $navBox = $c.find('.filter-nav'); 53 let $navBox = $c.find('.filter-nav');
  54 + let $newList = $c.find('.new-list');
54 let $goodsWraper = $c.find('.goods-container'); 55 let $goodsWraper = $c.find('.goods-container');
55 56
56 let goodsT = require('product/new/goods.hbs'); 57 let goodsT = require('product/new/goods.hbs');
@@ -168,7 +169,7 @@ let searchView = function() { @@ -168,7 +169,7 @@ let searchView = function() {
168 return; 169 return;
169 } 170 }
170 171
171 - let order = $activeNav.data('order') || $activeNav.find('.cur').data('order'); 172 + let order = $activeNav.attr('data-order') || $activeNav.find('.cur').data('order');
172 173
173 searchParams.order = order; 174 searchParams.order = order;
174 changeAction(); 175 changeAction();
@@ -256,6 +257,25 @@ let searchView = function() { @@ -256,6 +257,25 @@ let searchView = function() {
256 $navBox.on('click', 'li', function(event) { 257 $navBox.on('click', 'li', function(event) {
257 let $curNav = $(event.currentTarget); 258 let $curNav = $(event.currentTarget);
258 259
  260 + // 处理新添加的默认,最新排序
  261 + if ($curNav.hasClass('first-li-more')) {
  262 + filter.hideFilter();
  263 +
  264 + if ($newList.hasClass('hide')) {
  265 + $curNav.find('.up').removeClass('hide');
  266 + $curNav.find('.down').addClass('hide');
  267 + $newList.removeClass('hide');
  268 + } else {
  269 + $curNav.find('.up').addClass('hide');
  270 + $curNav.find('.down').removeClass('hide');
  271 + $newList.addClass('hide');
  272 + }
  273 +
  274 + return;
  275 + }
  276 +
  277 + $newList.addClass('hide');
  278 +
259 let $activeNav = switchNav($curNav); 279 let $activeNav = switchNav($curNav);
260 280
261 checkOrderChange($activeNav, function() { 281 checkOrderChange($activeNav, function() {
@@ -268,6 +288,37 @@ let searchView = function() { @@ -268,6 +288,37 @@ let searchView = function() {
268 }); 288 });
269 }); 289 });
270 }); 290 });
  291 +
  292 + // 单独处理默认、最新排序条件
  293 + $newList.on('click', 'li', function(event) {
  294 + let $defaultCurNav = $(event.currentTarget);
  295 + let $firstMore = $('.first-li-more');
  296 +
  297 + $newList.addClass('hide');
  298 + $firstMore.find('.up').addClass('hide');
  299 + $firstMore.find('.down').removeClass('hide');
  300 +
  301 + if ($defaultCurNav.hasClass('new')) {
  302 + $firstMore.attr('data-order', 's_t_desc').find('.span-test').text('最新');
  303 + $defaultCurNav.addClass('active');
  304 + $newList.find('.default').removeClass('active');
  305 + } else {
  306 + $firstMore.attr('data-order', '').find('.span-test').text('默认');
  307 + $defaultCurNav.addClass('active');
  308 + $newList.find('.new').removeClass('active');
  309 + }
  310 +
  311 + checkOrderChange($firstMore, function() {
  312 + fetchNew({ // eslint-disable-line
  313 + $box: $goodBox,
  314 + before: $box => {
  315 + fetchXhr.abort();
  316 + $box.html('');
  317 + }
  318 + });
  319 + });
  320 + });
  321 +
271 }); 322 });
272 323
273 $(window).scroll(function() { 324 $(window).scroll(function() {
@@ -25,6 +25,32 @@ body { @@ -25,6 +25,32 @@ body {
25 width: 100%; 25 width: 100%;
26 } 26 }
27 27
  28 +.new-list {
  29 + width: 100%;
  30 + background-color: #fff;
  31 + font-size: 0.7rem;
  32 + color: #444;
  33 + position: absolute;
  34 + z-index: 5;
  35 +
  36 + li {
  37 + margin-left: 1.2rem;
  38 + height: 2.2rem;
  39 + line-height: 2.2rem;
  40 + border-bottom: 1px solid #e0e0e0;
  41 + padding-right: 0.95rem;
  42 + }
  43 +
  44 + li:last-child {
  45 + border-bottom: none;
  46 + }
  47 +
  48 + li.active {
  49 + background: url(../img/product/shop/check.png) no-repeat 94% center;
  50 + background-size: 0.9rem 0.65rem;
  51 + }
  52 +}
  53 +
28 54
29 .goods-container { 55 .goods-container {
30 overflow: hidden; 56 overflow: hidden;
@@ -72,10 +98,6 @@ body { @@ -72,10 +98,6 @@ body {
72 border-bottom: 1PX solid #dededf; 98 border-bottom: 1PX solid #dededf;
73 } 99 }
74 100
75 -.filter-nav li:first-child .down{  
76 - display: none;  
77 -}  
78 -  
79 .filter-nav .iconfont { 101 .filter-nav .iconfont {
80 color: #999; 102 color: #999;
81 } 103 }