Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYWAP
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
梁志锋
9 years ago
Commit
7768455a3ac7ee1dcc487822ad16e68ee0fc3c5d
2 parents
09b6272c
af4b8c6c
Merge branch 'feature/cart' of
http://git.dev.yoho.cn/web/yohobuy
into feature/cart
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
100 additions
and
14 deletions
static/js/cart/chose-panel.js
static/sass/cart/_chose-panel.scss
template/m.yohobuy.com/partials/cart/chose-panel.phtml
template/m.yohobuy.com/partials/cart/good.phtml
static/js/cart/chose-panel.js
View file @
7768455
...
...
@@ -12,7 +12,25 @@ var $ = require('jquery');
// var $page = $('.yoho-page');
var
$num
,
$chosed
;
$chosed
,
re
=
/
\d
+/
,
leftNum
,
$colorList
=
$
(
'.color-list ul>li'
),
$sizeList
=
$
(
'.size-list ul>li'
),
firstColorId
=
$colorList
.
eq
(
0
).
data
(
'id'
),
colorIndex
;
//初始化购物车面板显示
$sizeList
.
each
(
function
()
{
colorIndex
=
$
(
this
).
data
(
'colorid'
);
if
(
colorIndex
===
firstColorId
)
{
$
(
this
).
removeClass
(
'hide'
);
}
});
// confirm;
// var tpl;
...
...
@@ -35,8 +53,11 @@ var $num,
// $num = $('#good-num');
// }
function
show
()
{
$
(
'.chose-panel'
).
show
();
$
(
'body'
).
css
(
'overflow'
,
'hidden'
);
$num
=
$
(
'#good-num'
);
}
...
...
@@ -58,10 +79,43 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
remove
();
}).
on
(
'touchstart'
,
'#chose-btn-sure'
,
function
()
{
//确定
}).
on
(
'touchstart'
,
'.block'
,
function
(
e
)
{
// var productSku,
// buyNumber = $('#good-num') - 0;
// promotionId,
// goodsType,
// isEdit;
// //确定
// $chosed = $('.block-list>ul>li.chosed');
// if (2 === $chosed.length && 2 !== $chosed.closest('.zero-stock').length) {
// if (confirm) {
// return false;
// }
// confirm = true;
// loading.showLoadingMask();
// $.ajax({
// method: 'POST',
// url: '/cart/index/add',
// data: {
// product_id: productId,
// content: content
// }
// }).done(function(res) {
// if (res.code === 200) {
// loading.hideLoadingMask();
// confirm = false;
// remove();
// }
// }).fail(function() {
// tip.show('网络出了点问题~');
// confirm = false;
// });
// }
//尺寸颜色点选
}).
on
(
'touchstart'
,
'.block'
,
function
(
e
)
{
var
$this
=
$
(
this
),
$that
=
$
(
e
.
target
).
closest
(
'.chose-items'
),
numArray
,
...
...
@@ -96,6 +150,19 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
}
});
}
else
if
(
$chosed
.
length
===
1
&&
$this
.
hasClass
(
'chosed'
))
{
if
(
$this
.
closest
(
'.block-list'
).
hasClass
(
'color-list'
))
{
$sizeList
.
addClass
(
'hide'
);
//切换尺码信息
$sizeList
.
each
(
function
()
{
colorIndex
=
$
(
this
).
data
(
'colorid'
);
if
(
colorIndex
===
$this
.
data
(
'id'
))
{
$
(
this
).
removeClass
(
'hide'
);
}
});
}
numArray
=
$chosed
.
data
(
'numstr'
).
split
(
'/'
);
$siblingBlock
.
find
(
'.block'
).
removeClass
(
'zero-stock'
);
for
(
i
=
0
;
i
<
numArray
.
length
;
i
++
)
{
...
...
@@ -104,6 +171,9 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
}
}
}
else
if
(
$chosed
.
length
===
1
&&
!
$this
.
hasClass
(
'chosed'
))
{
$
(
'#chose-btn-sure'
).
css
(
'background-color'
,
'#eb0313'
);
$
(
'#chose-btn-sure'
).
html
(
'确定'
);
$siblingBlock
.
find
(
'ul>li'
).
each
(
function
()
{
$
(
this
).
removeClass
(
'zero-stock'
);
if
(
0
===
$
(
this
).
data
(
'num'
)
-
0
)
{
...
...
@@ -123,19 +193,23 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
if
(
2
===
$chosed
.
closest
(
'.zero-stock'
).
length
)
{
$
(
'#chose-btn-sure'
).
css
(
'background-color'
,
'#c0c0c0'
);
$
(
'#chose-btn-sure'
).
html
(
'已售罄'
);
}
else
{
$
(
'#chose-btn-sure'
).
css
(
'background-color'
,
'#eb0313'
);
$
(
'#chose-btn-sure'
).
html
(
'确定'
);
}
}
}).
on
(
'touchstart'
,
'.btn-minus'
,
function
()
{
var
num
=
+
$num
.
val
(),
$chosed
=
$
(
'.block-list>ul>li.chosed'
);
$chosed
=
$
(
'.block-list>ul>li.chosed'
),
leftNum
=
re
.
exec
(
$
(
'.num .left-num'
).
html
());
//若颜色和尺码没有被同时选中,则不能点击
if
(
$chosed
.
length
<
2
)
{
return
;
}
if
(
num
===
0
)
{
if
(
num
===
1
||
0
===
leftNum
-
0
)
{
return
;
}
...
...
@@ -147,6 +221,10 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
if
(
$
(
'.block-list>ul>li.chosed'
).
length
<
2
)
{
return
;
}
leftNum
=
re
.
exec
(
$
(
'.num .left-num'
).
html
());
if
(
num
-
0
===
leftNum
-
0
||
0
===
leftNum
-
0
)
{
return
;
}
//TODO:库存数验证
$num
.
val
(
num
+
1
);
...
...
static/sass/cart/_chose-panel.scss
View file @
7768455
...
...
@@ -8,7 +8,8 @@
right
:
0
;
background
:
rgba
(
0
,
0
,
0
,.
3
);
z-index
:
3
;
.main
{
position
:
absolute
;
height
:
pxToRem
(
610px
);
...
...
@@ -85,6 +86,10 @@
top
:
20rem
/
$pxConvertRem
;
}
}
.size-list
li
.hide
{
display
:
none
;
}
.block
{
float
:
left
;
...
...
template/m.yohobuy.com/partials/cart/chose-panel.phtml
View file @
7768455
{
{#cartInfo
}
}
<div
class=
"chose-panel"
>
<div
class=
"main"
>
<div
class=
"infos"
>
<div class="basic-info">
<div
class=
"basic-info"
>
{
{#thumbs
}
}
{
{#if
@first
}
}
<img
class=
"thumb"
src=
{
{img
}
}>
...
...
@@ -25,17 +25,18 @@
<span>颜色</span>
<ul
class=
"clearfix"
data-type=
"color"
>
{
{#
colors
}
}
<li class="block {{#if chosed}}chosed{{/if}} {{#unless colorNum}}zero-stock{{/unless}}" data-num="{{colorNum}}" data-numstr="{{sizeNumStr}}" data-skcid="{{skcId}}">
<li
class=
"block {{#if chosed}}chosed{{/if}} {{#unless colorNum}}zero-stock{{/unless}}"
data-num=
"{{colorNum}}"
data-
id=
"{{id}}"
data-
numstr=
"{{sizeNumStr}}"
data-skcid=
"{{skcId}}"
>
{
{name
}
}
</li>
{
{/
colors
}
}
</ul>
</div>
<div
class=
"size-list block-list"
>
<span>尺码</span>
<span>尺码</span>
<ul
class=
"clearfix"
data-type=
"size"
>
{
{#
sizes
}
}
<li class="block
{{#if chosed}}chosed{{/if}} {{#unless sizeNum}}zero-stock{{/unless}}" data-id={{id}} data-num="{{sizeNum}}" data-numstr="{{colorNumStr}}" data-skuid="{{skuId}}" data-goodid="{{good
Id}}">
<li
class=
"block
hide {{#if chosed}}chosed{{/if}} {{#unless sizeNum}}zero-stock{{/unless}}"
data-id=
{
{id
}
}
data-colorid=
"{{colorId}}"
data-num=
"{{sizeNum}}"
data-numstr=
"{{colorNumStr}}"
data-skuid=
"{{skuId}}"
data-goodid=
"{{goods
Id}}"
>
{
{name
}
}
</li>
{
{/
sizes
}
}
...
...
@@ -47,7 +48,7 @@
<a
class=
"btn btn-minus"
href=
"javascript:void(0);"
>
<span
class=
"iconfont"
>
625
;</span>
</a>
<input id="good-num" class="good-num" type="text" value=
{{num}}
>
<input
id=
"good-num"
class=
"good-num"
type=
"text"
value=
"1"
>
<a
class=
"btn btn-plus"
href=
"javascript:void(0);"
>
<span
class=
"iconfont"
>
624
;</span>
</a>
...
...
@@ -57,7 +58,8 @@
</div>
</div>
<div
class=
"btn-wrap"
>
<button id="chose-btn-sure" class="btn btn-sure">
加入购物车
</button>
<button
id=
"chose-btn-sure"
class=
"btn btn-sure"
>
确定
</button>
</div>
</div>
</div>
{
{/cartInfo
}
}
\ No newline at end of file
...
...
template/m.yohobuy.com/partials/cart/good.phtml
View file @
7768455
...
...
@@ -75,6 +75,7 @@
×{{count}}
</span>
</div>
</div>
<!--<div class="opt-panel hide">
<div class="put-in-favorite">
<span class="iconfont"></span>
...
...
Please
register
or
login
to post a comment