Showing
3 changed files
with
75 additions
and
40 deletions
@@ -185,29 +185,33 @@ | @@ -185,29 +185,33 @@ | ||
185 | <span class="iconfont"></span> | 185 | <span class="iconfont"></span> |
186 | 186 | ||
187 | <div class="senior-up-icon"></div> | 187 | <div class="senior-up-icon"></div> |
188 | - | ||
189 | - <div class="senior-sub hide" data-attr="{{attr}}"> | ||
190 | - {{#if showMulti}} | ||
191 | - <span class="multi-select">多选 +</span> | ||
192 | - {{/if}} | ||
193 | - <ul class="clearfix check-container"> | ||
194 | - {{#each sub}} | ||
195 | - <li class="attr"> | ||
196 | - <a href="{{href}}"> | ||
197 | - <span class="iconfont checkbox" data-id="{{id}}"></span> | ||
198 | - <span>{{name}}</span> | ||
199 | - </a> | ||
200 | - </li> | ||
201 | - {{/each}} | ||
202 | - </ul> | ||
203 | - <div class="btns"> | ||
204 | - <button class="multi-select-ok dis">确定</button> | ||
205 | - <button class="multi-select-cancel">取消</button> | ||
206 | - </div> | ||
207 | - </div> | ||
208 | </li> | 188 | </li> |
209 | {{/each}} | 189 | {{/each}} |
210 | </ul> | 190 | </ul> |
191 | + | ||
192 | + <div class="senior-sub-wrap"> | ||
193 | + {{#each seniorChose}} | ||
194 | + <div class="senior-sub hide" data-attr="{{attr}}"> | ||
195 | + {{#if showMulti}} | ||
196 | + <span class="multi-select">多选 +</span> | ||
197 | + {{/if}} | ||
198 | + <ul class="clearfix check-container"> | ||
199 | + {{#each sub}} | ||
200 | + <li class="attr"> | ||
201 | + <a href="{{href}}"> | ||
202 | + <span class="iconfont checkbox" data-id="{{id}}"></span> | ||
203 | + <span>{{name}}</span> | ||
204 | + </a> | ||
205 | + </li> | ||
206 | + {{/each}} | ||
207 | + </ul> | ||
208 | + <div class="btns"> | ||
209 | + <button class="multi-select-ok dis">确定</button> | ||
210 | + <button class="multi-select-cancel">取消</button> | ||
211 | + </div> | ||
212 | + </div> | ||
213 | + {{/each}} | ||
214 | + </div> | ||
211 | </div> | 215 | </div> |
212 | </div> | 216 | </div> |
213 | {{/if}} | 217 | {{/if}} |
@@ -32,6 +32,12 @@ var $udPrice = $('.ud-price-range'), | @@ -32,6 +32,12 @@ var $udPrice = $('.ud-price-range'), | ||
32 | //分类相关变量 | 32 | //分类相关变量 |
33 | var $sortSub = $('.sort-sub-wrap'); | 33 | var $sortSub = $('.sort-sub-wrap'); |
34 | 34 | ||
35 | +//高级选项相关变量 | ||
36 | +var $seniorSubWrap = $('.senior-sub-wrap'), | ||
37 | + $seniorAttrWrap = $('.senior-attr-wrap'); | ||
38 | + | ||
39 | +var seniorHoverTime, hoveredIndex; | ||
40 | + | ||
35 | //清除checkbox选中状态 | 41 | //清除checkbox选中状态 |
36 | function clearChecked($checkbox) { | 42 | function clearChecked($checkbox) { |
37 | $checkbox.removeClass('checked').html(checkUnicode.unchecked); | 43 | $checkbox.removeClass('checked').html(checkUnicode.unchecked); |
@@ -241,15 +247,26 @@ if ($udPrice.length > 0) { | @@ -241,15 +247,26 @@ if ($udPrice.length > 0) { | ||
241 | } | 247 | } |
242 | 248 | ||
243 | //【高级选项】鼠标移入显示子项 | 249 | //【高级选项】鼠标移入显示子项 |
244 | -$('.senior-attr-wrap').on('mouseenter', '.attr', function() { | ||
245 | - $(this).children('.senior-sub').removeClass('hide'); | 250 | +$seniorAttrWrap.on('mouseenter', '.attr', function() { |
251 | + var index = $(this).addClass('hover').index(); | ||
252 | + | ||
253 | + $seniorSubWrap.children('.senior-sub:eq(' + index + ')').removeClass('hide'); | ||
246 | }).on('mouseleave', '.attr', function() { | 254 | }).on('mouseleave', '.attr', function() { |
247 | - $(this).children('.senior-sub').addClass('hide'); | 255 | + var $this = $(this), |
256 | + index = $this.index(); | ||
257 | + | ||
258 | + hoveredIndex = index; | ||
259 | + | ||
260 | + seniorHoverTime = setTimeout(function() { | ||
261 | + $seniorSubWrap.children('.senior-sub:eq(' + index + ')').addClass('hide'); | ||
262 | + $this.removeClass('hover'); | ||
263 | + hoveredIndex = -1; | ||
264 | + }, 100); | ||
248 | }); | 265 | }); |
249 | 266 | ||
250 | //【高级选项】多选 | 267 | //【高级选项】多选 |
251 | $('.senior-sub').on('click', '.multi-select', function() { | 268 | $('.senior-sub').on('click', '.multi-select', function() { |
252 | - $(this).closest('.sub').addClass('multi'); | 269 | + $(this).closest('.senior-sub').addClass('multi'); |
253 | }).on('click', '.multi-select-ok', function() { | 270 | }).on('click', '.multi-select-ok', function() { |
254 | var $btn = $(this), | 271 | var $btn = $(this), |
255 | $sub = $btn.closest('.senior-sub'), | 272 | $sub = $btn.closest('.senior-sub'), |
@@ -266,4 +283,10 @@ $('.senior-sub').on('click', '.multi-select', function() { | @@ -266,4 +283,10 @@ $('.senior-sub').on('click', '.multi-select', function() { | ||
266 | }); | 283 | }); |
267 | 284 | ||
268 | uriLoc($sub.data('attr'), val); | 285 | uriLoc($sub.data('attr'), val); |
286 | +}).on('mouseenter', function() { | ||
287 | + clearTimeout(seniorHoverTime); | ||
288 | +}).on('mouseleave', function() { | ||
289 | + $seniorSubWrap.children('.senior-sub:eq(' + hoveredIndex + ')').addClass('hide'); | ||
290 | + $seniorAttrWrap.children('.attr:eq(' + hoveredIndex + ')').removeClass('hover'); | ||
291 | + hoveredIndex = -1; | ||
269 | }); | 292 | }); |
@@ -218,18 +218,27 @@ | @@ -218,18 +218,27 @@ | ||
218 | margin-bottom: -6px; | 218 | margin-bottom: -6px; |
219 | margin-right: 5px; | 219 | margin-right: 5px; |
220 | } | 220 | } |
221 | - | ||
222 | - .senior-attr-wrap > .attr { | 221 | + |
222 | + .senior { | ||
223 | + padding-bottom: 6px; | ||
224 | + | ||
225 | + .attr-content { | ||
226 | + position: relative; | ||
227 | + } | ||
228 | + } | ||
229 | + | ||
230 | + .senior-attr-wrap { | ||
223 | position: relative; | 231 | position: relative; |
224 | - | ||
225 | - &:hover { | ||
226 | - > .iconfont { | ||
227 | - visibility: hidden; | ||
228 | - } | 232 | + } |
229 | 233 | ||
230 | - .senior-up-icon { | ||
231 | - display: block; | ||
232 | - } | 234 | + .senior-attr-wrap > .attr:hover, |
235 | + .senior-attr-wrap > .attr.hover { | ||
236 | + > .iconfont { | ||
237 | + visibility: hidden; | ||
238 | + } | ||
239 | + | ||
240 | + .senior-up-icon { | ||
241 | + visibility: visible; | ||
233 | } | 242 | } |
234 | } | 243 | } |
235 | 244 | ||
@@ -238,7 +247,7 @@ | @@ -238,7 +247,7 @@ | ||
238 | position: absolute; | 247 | position: absolute; |
239 | padding: 15px 0; | 248 | padding: 15px 0; |
240 | left: 0; | 249 | left: 0; |
241 | - width: 1050px; | 250 | + right: 0; |
242 | top: 39px; | 251 | top: 39px; |
243 | background: #fff; | 252 | background: #fff; |
244 | border: 1px solid #eaeceb; | 253 | border: 1px solid #eaeceb; |
@@ -259,15 +268,14 @@ | @@ -259,15 +268,14 @@ | ||
259 | } | 268 | } |
260 | 269 | ||
261 | .senior-up-icon { | 270 | .senior-up-icon { |
262 | - position: absolute; | ||
263 | - width: 15px; | 271 | + width: 100%; |
264 | height: 9px; | 272 | height: 9px; |
265 | z-index: 1; | 273 | z-index: 1; |
266 | - left: 50%; | ||
267 | - margin-left: -18px; | ||
268 | - display: none; | 274 | + margin-left: -11px; |
275 | + visibility: hidden; | ||
269 | 276 | ||
270 | background: image-url('product/senior-up.png') no-repeat; | 277 | background: image-url('product/senior-up.png') no-repeat; |
278 | + background-position-x: 50%; | ||
271 | } | 279 | } |
272 | 280 | ||
273 | .checkbox { | 281 | .checkbox { |
-
Please register or login to post a comment