...
|
...
|
@@ -10,16 +10,16 @@ var $ = require('yoho-jquery'), |
|
|
|
|
|
var $filter;
|
|
|
|
|
|
var fCbFn, hCbFn; //筛选和关闭的回调
|
|
|
var fCbFn, hCbFn; // 筛选和关闭的回调
|
|
|
|
|
|
var missStatus; //是否忽略选中状态
|
|
|
var missStatus; // 是否忽略选中状态
|
|
|
|
|
|
//隐藏筛选界面
|
|
|
// 隐藏筛选界面
|
|
|
function hideFilter() {
|
|
|
$filter.addClass('hide');
|
|
|
}
|
|
|
|
|
|
//显示筛选界面
|
|
|
// 显示筛选界面
|
|
|
function showFilter() {
|
|
|
$filter.removeClass('hide');
|
|
|
}
|
...
|
...
|
@@ -48,7 +48,7 @@ function highlightSubItem() { |
|
|
});
|
|
|
}
|
|
|
|
|
|
//主筛选项Tap事件句柄
|
|
|
// 主筛选项Tap事件句柄
|
|
|
function classifyTapEvt($this) {
|
|
|
if ($this.hasClass('active')) {
|
|
|
return;
|
...
|
...
|
@@ -59,7 +59,7 @@ function classifyTapEvt($this) { |
|
|
$this.addClass('active');
|
|
|
}
|
|
|
|
|
|
//子筛选项选中处理
|
|
|
// 子筛选项选中处理
|
|
|
function setSubClassify($this) {
|
|
|
var $sub = $this.closest('.sub-classify');
|
|
|
|
...
|
...
|
@@ -79,8 +79,8 @@ function setSubClassify($this) { |
|
|
shower = $.trim($shower.html());
|
|
|
|
|
|
$shower.html(
|
|
|
shower.substring(0, shower.indexOf('</span>') + 7) + //拆分出shower的title
|
|
|
html.substring(0, html.indexOf('<i')) //拆分选中筛选值
|
|
|
shower.substring(0, shower.indexOf('</span>') + 7) + // 拆分出shower的title
|
|
|
html.substring(0, html.indexOf('<i')) // 拆分选中筛选值
|
|
|
);
|
|
|
|
|
|
if ($this.index() === 0) {
|
...
|
...
|
@@ -92,7 +92,7 @@ function setSubClassify($this) { |
|
|
return $sub;
|
|
|
}
|
|
|
|
|
|
//子筛选项Tap句柄
|
|
|
// 子筛选项Tap句柄
|
|
|
function subClassifyTapEvt($this) {
|
|
|
var id = $this.data('id');
|
|
|
|
...
|
...
|
@@ -110,11 +110,11 @@ function subClassifyTapEvt($this) { |
|
|
hideFilter();
|
|
|
}
|
|
|
|
|
|
//初始化筛选
|
|
|
// 初始化筛选
|
|
|
function initFilter(opt) {
|
|
|
var filterHammer;
|
|
|
|
|
|
//注册回调
|
|
|
// 注册回调
|
|
|
fCbFn = opt.fCbFn;
|
|
|
hCbFn = opt.hCbFn;
|
|
|
|
...
|
...
|
@@ -130,19 +130,19 @@ function initFilter(opt) { |
|
|
var $this = $(e.target),
|
|
|
$cur;
|
|
|
|
|
|
e.preventDefault();//防止透点
|
|
|
e.preventDefault();// 防止透点
|
|
|
|
|
|
if ($this.closest('.filter-body').length > 0) {
|
|
|
$cur = $this.closest('.sub-item');
|
|
|
if ($cur.length > 0) {
|
|
|
|
|
|
//tap subclassify
|
|
|
// tap subclassify
|
|
|
$cur = $this.closest('li');
|
|
|
|
|
|
subClassifyTapEvt($cur);
|
|
|
} else {
|
|
|
|
|
|
//tap classify
|
|
|
// tap classify
|
|
|
$cur = $this.closest('.classify-item');
|
|
|
|
|
|
e.srcEvent.stopPropagation();
|
...
|
...
|
@@ -160,18 +160,18 @@ function initFilter(opt) { |
|
|
|
|
|
}
|
|
|
|
|
|
//重置筛选面板
|
|
|
// 重置筛选面板
|
|
|
function resetFilter() {
|
|
|
if (typeof $filter === 'undefined') {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
//重置子筛选项
|
|
|
// 重置子筛选项
|
|
|
$('.sub-classify').each(function() {
|
|
|
setSubClassify($(this).children(':first-child'));
|
|
|
});
|
|
|
|
|
|
//重置主筛选项
|
|
|
// 重置主筛选项
|
|
|
classifyTapEvt($('.classify > :first-child'));
|
|
|
}
|
|
|
|
...
|
...
|
|