Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohobuywap-node
·
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
645e0273af009653d0caeee1bfc195d0f0e0e1e7
2 parents
f980d0d3
fbca6720
Merge remote-tracking branch 'remotes/origin/release/4.6'
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
71 additions
and
71 deletions
apps/guang/views/action/star/index.hbs
apps/guang/views/partial/star/index-html.hbs
public/dist/m-yohobuy-node/0.1.0/guang.collocation.js
public/dist/m-yohobuy-node/0.1.0/guang.star.js
public/dist/m-yohobuy-node/0.1.0/index.css
public/js/guang/collocation.page.js
public/js/guang/star.page.js
public/scss/guang/star/_star.css
apps/guang/views/action/star/index.hbs
View file @
645e027
...
...
@@ -3,7 +3,10 @@
<div
class=
"swiper-num swiper-num1"
></div>
<div
class=
"swiper-num swiper-num2"
></div>
<div
class=
"swiper-num swiper-num3"
></div>
<div
class=
"loading-tip"
>
下拉刷新
</div>
<div
class=
"star-main"
>
{{>
star
/
index-html
}}
<div
class=
"main-content"
>
{{>
star
/
index-html
}}
</div>
</div>
</div>
...
...
apps/guang/views/partial/star/index-html.hbs
View file @
645e027
<div
class=
"loading-tip"
>
下拉刷新
</div>
<div
class=
"star-wrap"
>
<div
class=
"star-content"
>
{{#
content
}}
...
...
public/dist/m-yohobuy-node/0.1.0/guang.collocation.js
View file @
645e027
webpackJsonp
([
13
],{
0
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
,
e
,
t
;
c
.
showLoadingMask
(),
a
.
ajax
({
type
:
"GET"
,
url
:
"/guang/star/collocation/list"
,
data
:{
page
:
o
,
appVersion
:
window
.
queryString
.
app_version
},
dataType
:
"html"
,
success
:
function
(
o
){
l
=!
1
,
""
===
o
&&
(
l
=!
0
,
s
.
show
(
"没有更多内容了"
)),
a
(
".collocation-list"
).
append
(
o
),
a
(
".cont-area"
).
each
(
function
(){
n
=
a
(
this
),
e
=
n
.
find
(
".title"
),
t
=
n
.
find
(
".cont-txt"
),
e
[
0
].
mlellipsis
(
2
),
t
[
0
].
mlellipsis
(
2
)}),
c
.
hideLoadingMask
(),
r
(
a
(
"img.lazy"
))},
error
:
function
(){
s
.
show
(
"网络断开连接了~"
)}})}
function
i
(){
!
l
&&
a
(
window
).
scrollTop
()
+
a
(
window
).
height
()
>
a
(
"body"
).
height
()
-
100
&&
(
l
=!
0
,
h
++
,
t
(
h
))}
var
a
=
e
(
1
),
s
=
e
(
2
),
c
=
e
(
5
),
r
=
e
(
6
),
d
=
e
(
10
),
l
=!
1
,
h
=
1
;
e
(
17
),
d
.
init
(),
a
(
window
).
scroll
(
function
(){
window
.
requestAnimationFrame
(
i
)}),
0
===
a
(
".collocation-list"
).
find
(
"li"
).
length
&&
t
(
1
)},
2
:
function
(
o
,
n
,
e
){
function
t
(
o
,
n
){
var
e
,
t
;
"undefined"
!=
typeof
o
&&
(
e
=
o
.
toString
(),
t
=
n
&&
n
>
0
?
n
:
2
e3
,
i
.
text
(
e
).
show
(),
a
=
setTimeout
(
function
(){
"block"
===
i
.
css
(
"display"
)
&&
i
.
hide
()},
t
))}
var
i
,
a
,
s
=
e
(
1
);
!
function
(){
var
o
=
'<div id="yoho-tip" class="yoho-tip"></div>'
;
s
(
".yoho-page"
).
append
(
o
),
i
=
s
(
"#yoho-tip"
),
i
.
on
(
"touchend"
,
function
(){
i
.
hide
(),
clearTimeout
(
a
)})}(),
n
.
show
=
t
},
3
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
,
e
,
t
=
document
.
cookie
;
return
document
.
cookie
&&
""
!==
document
.
cookie
&&
(
e
=
t
.
indexOf
(
o
+
"="
),
e
>-
1
&&
(
e
+=
o
.
length
+
1
,
n
=
decodeURIComponent
(
p
.
trim
(
t
.
substring
(
e
,
t
.
indexOf
(
";"
,
e
)))))),
n
}
function
i
(
o
,
n
,
e
){
var
t
,
i
,
a
,
s
,
c
=
""
;
"undefined"
!=
typeof
n
&&
(
e
=
e
||
{},
null
===
n
&&
(
n
=
""
,
e
.
expires
=-
1
),
e
.
expires
&&
(
"number"
==
typeof
e
.
expires
||
e
.
expires
.
toUTCString
)
&&
(
"number"
==
typeof
e
.
expires
?(
s
=
new
Date
,
s
.
setTime
(
s
.
getTime
()
+
24
*
e
.
expires
*
60
*
60
*
1
e3
)):
s
=
e
.
expires
,
c
=
"; expires="
+
s
.
toUTCString
()),
t
=
e
.
path
?
"; path="
+
e
.
path
:
""
,
i
=
e
.
domain
?
"; domain="
+
e
.
domain
:
""
,
a
=
e
.
secure
?
"; secure"
:
""
,
document
.
cookie
=
[
o
,
"="
,
encodeURIComponent
(
n
),
c
,
t
,
i
,
a
].
join
(
""
))}
function
a
(){
var
o
=!!
navigator
.
cookieEnabled
;
return
"undefined"
!=
typeof
navigator
.
cookieEnabled
||
o
||
(
document
.
cookie
=
"testcookie"
,
o
=-
1
!==
document
.
cookie
.
indexOf
(
"testcookie"
)),
o
}
function
s
(){
var
o
,
n
=
t
(
"_UID"
);
return
"undefined"
==
typeof
n
?
0
:(
o
=
n
.
split
(
"::"
),
"undefined"
==
typeof
o
||
o
.
length
<
4
?
0
:
o
)}
function
c
(){
var
o
=
s
();
return
0
===
o
?
0
:
o
[
1
]}
function
r
(){
var
o
=
t
(
"_g"
);
return
"undefined"
==
typeof
o
?
""
:
JSON
.
parse
(
o
).
k
}
function
d
(){
var
o
;
0
!==
f
.
length
&&
(
o
=
Math
.
min
(
p
(
window
).
height
(),
window
.
screen
.
availHeight
),
p
(
"body"
).
height
()
<=
o
-
parseInt
(
f
.
css
(
"height"
),
0
)?
f
.
addClass
(
"bottom"
):
f
.
removeClass
(
"bottom"
))}
function
l
(
o
){
var
n
=
p
(
o
).
outerHeight
();
o
&&
f
.
css
(
"margin-bottom"
,
n
+
"px"
)}
function
h
(){
var
o
,
n
,
e
=
[],
t
=
window
.
location
.
search
.
slice
(
1
).
split
(
"&"
);
for
(
n
=
0
;
n
<
t
.
length
;
n
++
)
o
=
t
[
n
].
split
(
"="
),
e
.
push
(
o
[
0
]),
e
[
o
[
0
]]
=
o
[
1
];
return
e
}
function
u
(
o
){
return
o
.
replace
(
/
(\d{3})\d{4}(\d{4})
/
,
"$1****$2"
)}
var
p
=
e
(
1
),
m
=
e
(
4
),
f
=
p
(
"#yoho-footer"
),
g
=
p
(
".yoho-page"
),
w
=
p
(
".yoho-header"
);
!
function
(){
var
o
,
n
=
f
.
children
(
".op-row"
),
e
=
p
(
".back-to-top"
),
t
=
s
();
d
(),
0
===
t
?
n
.
prepend
(
'<a href="http://m.yohobuy.com/signin.html?refer='
+
location
.
href
+
'">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'
):
n
.
prepend
(
'<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp='
+
Math
.
random
()
+
'">'
+
t
[
0
]
+
'</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'
),
e
.
length
>
0
&&
(
o
=
new
m
(
e
[
0
]),
o
.
on
(
"tap"
,
function
(
o
){
return
p
(
window
).
scrollTop
(
0
),
o
.
srcEvent
.
preventDefault
(),
!
1
})),
f
.
removeClass
(
"hide"
)}(),
function
(
o
,
n
,
e
,
t
,
i
){
var
a
=
n
.
createElement
(
e
),
s
=
n
.
getElementsByTagName
(
e
)[
0
];
o
.
YohoAcquisitionObject
=
i
,
o
[
i
]
=
function
(){
o
[
i
].
p
=
arguments
},
a
.
async
=
1
,
a
.
src
=
t
,
s
.
parentNode
.
insertBefore
(
a
,
s
)}(
window
,
document
,
"script"
,(
"https:"
===
document
.
location
.
protocol
?
"https"
:
"http"
)
+
"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js"
,
"_yas"
),
function
(){
var
o
=
c
();
o
=
0
===
o
?
""
:
o
,
window
.
_ozuid
=
o
,
window
.
_yas
&&
window
.
_yas
(
1
*
new
Date
,
"1.0.17"
,
"yohobuy_m"
,
o
,
""
,
""
)}(),
w
.
on
(
"touchstart"
,
"a"
,
function
(){
w
.
find
(
"a"
).
removeClass
(
"highlight"
),
p
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
"a"
,
function
(){
p
(
this
).
removeClass
(
"highlight"
)}),
g
.
on
(
"touchstart"
,
".tap-hightlight"
,
function
(){
p
(
this
).
siblings
(
".tap-hightlight"
).
removeClass
(
"highlight"
),
p
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
".tap-hightlight"
,
function
(){
p
(
this
).
removeClass
(
"highlight"
)}),
p
(
".nav-home"
).
on
(
"touchstart"
,
function
(){
p
(
".homebuttom"
).
toggleClass
(
"hide"
)}),
function
(){
var
o
,
n
,
e
=
0
,
t
=
"webkit moz ms o"
.
split
(
" "
),
i
=
window
.
requestAnimationFrame
,
a
=
window
.
cancelAnimationFrame
;
for
(
n
=
0
;
n
<
t
.
length
&&
(
!
i
||!
a
);
n
++
)
o
=
t
[
n
],
i
=
i
||
window
[
o
+
"RequestAnimationFrame"
],
a
=
a
||
window
[
o
+
"CancelAnimationFrame"
]
||
window
[
o
+
"CancelRequestAnimationFrame"
];
i
&&
a
||
(
i
=
function
(
o
){
var
n
=
(
new
Date
).
getTime
(),
t
=
Math
.
max
(
0
,
16
-
(
n
-
e
)),
i
=
window
.
setTimeout
(
function
(){
o
(
n
+
t
)},
t
);
return
e
=
n
+
t
,
i
},
a
=
function
(
o
){
window
.
clearTimeout
(
o
)}),
window
.
requestAnimationFrame
=
i
,
window
.
cancelAnimationFrame
=
a
}(),
p
.
extend
({
queryString
:
h
}),
11
===
f
.
find
(
".user-name"
).
text
().
length
&&
f
.
find
(
".user-name"
).
html
(
u
(
f
.
find
(
".user-name"
).
text
())),
window
.
cookie
=
t
,
window
.
setCookie
=
i
,
window
.
isCookiesEnabled
=
a
,
window
.
getUser
=
s
,
window
.
getUid
=
c
,
window
.
getShoppingKey
=
r
,
window
.
rePosFooter
=
d
,
window
.
reMarginFooter
=
l
,
window
.
queryString
=
h
()},
5
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
=
'<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'
;
d
=!
0
,
o
||
(
o
=
r
),
o
.
append
(
n
),
s
=
o
.
children
(
".loading-mask"
),
c
(
"body"
).
on
(
"touchstart touchmove touchend"
,
".loading-mask"
,
function
(){
return
!
1
})}
function
i
(){
d
||
(
t
(),
d
=!
0
),
s
.
removeClass
(
"hide"
)}
function
a
(){
s
.
addClass
(
"hide"
)}
var
s
,
c
=
e
(
1
),
r
=
c
(
".yoho-page"
),
d
=!
1
;
n
.
init
=
t
,
n
.
showLoadingMask
=
i
,
n
.
hideLoadingMask
=
a
,
n
.
show
=
i
,
n
.
hide
=
a
},
17
:
function
(
o
,
n
,
e
){
var
t
=
e
(
1
),
i
=
e
(
2
);
e
(
3
),
window
.
setCookie
(
"guangStarUid"
,
window
.
queryString
.
uid
),
t
(
".collocation-list,.detail-list"
).
on
(
"click"
,
".collection"
,
function
(){
var
o
,
n
,
e
,
a
=
t
(
this
),
s
=
a
.
find
(
".collected-ico"
);
o
=
s
.
hasClass
(
"collected"
)?
"del"
:
"fav"
,
t
(
this
).
parents
(
".collocation-list"
).
length
>
0
?(
n
=
"1"
,
e
=
""
):(
n
=
"2"
,
e
=
t
(
".detail-list"
).
data
(
"name"
)),
t
.
ajax
({
type
:
"POST"
,
url
:
"/guang/star/setFavorite"
,
data
:{
articleId
:
a
.
parents
(
"li"
).
attr
(
"articleId"
),
type
:
o
,
pageType
:
n
,
tag
:
e
},
success
:
function
(
o
){
var
n
=
o
.
code
;
200
===
n
&&
(
s
.
hasClass
(
"collected"
)?
s
.
removeClass
(
"collected"
):
s
.
addClass
(
"collected"
)),
400
===
n
&&
(
t
(
"#collocation-link"
).
length
<=
0
&&
t
(
"body"
).
append
(
"<a href='"
+
o
.
data
+
'\' style="display:none;" id="collocation-link"><span class="collocation-link"></span></a>'
),
t
(
".collocation-link"
).
click
())},
error
:
function
(){
i
.
show
(
"网络断开连接了~"
)}})})}});
\ No newline at end of file
webpackJsonp
([
13
],{
0
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
,
e
,
t
;
c
.
showLoadingMask
(),
a
.
ajax
({
type
:
"GET"
,
url
:
"/guang/star/collocation/list"
,
data
:{
page
:
o
,
appVersion
:
window
.
queryString
.
app_version
},
dataType
:
"html"
,
success
:
function
(
o
){
l
=!
1
,
""
===
o
&&
(
l
=!
0
,
s
.
show
(
"没有更多内容了"
)),
a
(
".collocation-list"
).
append
(
o
),
a
(
".cont-area"
).
each
(
function
(){
n
=
a
(
this
),
e
=
n
.
find
(
".title"
),
t
=
n
.
find
(
".cont-txt"
),
e
[
0
].
mlellipsis
(
2
),
t
[
0
].
mlellipsis
(
2
)}),
c
.
hideLoadingMask
(),
r
(
a
(
"img.lazy"
))},
error
:
function
(){
s
.
show
(
"网络断开连接了~"
)}})}
function
i
(){
!
l
&&
a
(
window
).
scrollTop
()
+
a
(
window
).
height
()
>
.
75
*
a
(
"body"
).
height
()
&&
(
l
=!
0
,
h
++
,
t
(
h
))}
var
a
=
e
(
1
),
s
=
e
(
2
),
c
=
e
(
5
),
r
=
e
(
6
),
d
=
e
(
10
),
l
=!
1
,
h
=
1
;
e
(
17
),
d
.
init
(),
a
(
window
).
scroll
(
function
(){
window
.
requestAnimationFrame
(
i
)}),
0
===
a
(
".collocation-list"
).
find
(
"li"
).
length
&&
t
(
1
)},
2
:
function
(
o
,
n
,
e
){
function
t
(
o
,
n
){
var
e
,
t
;
"undefined"
!=
typeof
o
&&
(
e
=
o
.
toString
(),
t
=
n
&&
n
>
0
?
n
:
2
e3
,
i
.
text
(
e
).
show
(),
a
=
setTimeout
(
function
(){
"block"
===
i
.
css
(
"display"
)
&&
i
.
hide
()},
t
))}
var
i
,
a
,
s
=
e
(
1
);
!
function
(){
var
o
=
'<div id="yoho-tip" class="yoho-tip"></div>'
;
s
(
".yoho-page"
).
append
(
o
),
i
=
s
(
"#yoho-tip"
),
i
.
on
(
"touchend"
,
function
(){
i
.
hide
(),
clearTimeout
(
a
)})}(),
n
.
show
=
t
},
3
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
,
e
,
t
=
document
.
cookie
;
return
document
.
cookie
&&
""
!==
document
.
cookie
&&
(
e
=
t
.
indexOf
(
o
+
"="
),
e
>-
1
&&
(
e
+=
o
.
length
+
1
,
n
=
decodeURIComponent
(
p
.
trim
(
t
.
substring
(
e
,
t
.
indexOf
(
";"
,
e
)))))),
n
}
function
i
(
o
,
n
,
e
){
var
t
,
i
,
a
,
s
,
c
=
""
;
"undefined"
!=
typeof
n
&&
(
e
=
e
||
{},
null
===
n
&&
(
n
=
""
,
e
.
expires
=-
1
),
e
.
expires
&&
(
"number"
==
typeof
e
.
expires
||
e
.
expires
.
toUTCString
)
&&
(
"number"
==
typeof
e
.
expires
?(
s
=
new
Date
,
s
.
setTime
(
s
.
getTime
()
+
24
*
e
.
expires
*
60
*
60
*
1
e3
)):
s
=
e
.
expires
,
c
=
"; expires="
+
s
.
toUTCString
()),
t
=
e
.
path
?
"; path="
+
e
.
path
:
""
,
i
=
e
.
domain
?
"; domain="
+
e
.
domain
:
""
,
a
=
e
.
secure
?
"; secure"
:
""
,
document
.
cookie
=
[
o
,
"="
,
encodeURIComponent
(
n
),
c
,
t
,
i
,
a
].
join
(
""
))}
function
a
(){
var
o
=!!
navigator
.
cookieEnabled
;
return
"undefined"
!=
typeof
navigator
.
cookieEnabled
||
o
||
(
document
.
cookie
=
"testcookie"
,
o
=-
1
!==
document
.
cookie
.
indexOf
(
"testcookie"
)),
o
}
function
s
(){
var
o
,
n
=
t
(
"_UID"
);
return
"undefined"
==
typeof
n
?
0
:(
o
=
n
.
split
(
"::"
),
"undefined"
==
typeof
o
||
o
.
length
<
4
?
0
:
o
)}
function
c
(){
var
o
=
s
();
return
0
===
o
?
0
:
o
[
1
]}
function
r
(){
var
o
=
t
(
"_g"
);
return
"undefined"
==
typeof
o
?
""
:
JSON
.
parse
(
o
).
k
}
function
d
(){
var
o
;
0
!==
f
.
length
&&
(
o
=
Math
.
min
(
p
(
window
).
height
(),
window
.
screen
.
availHeight
),
p
(
"body"
).
height
()
<=
o
-
parseInt
(
f
.
css
(
"height"
),
0
)?
f
.
addClass
(
"bottom"
):
f
.
removeClass
(
"bottom"
))}
function
l
(
o
){
var
n
=
p
(
o
).
outerHeight
();
o
&&
f
.
css
(
"margin-bottom"
,
n
+
"px"
)}
function
h
(){
var
o
,
n
,
e
=
[],
t
=
window
.
location
.
search
.
slice
(
1
).
split
(
"&"
);
for
(
n
=
0
;
n
<
t
.
length
;
n
++
)
o
=
t
[
n
].
split
(
"="
),
e
.
push
(
o
[
0
]),
e
[
o
[
0
]]
=
o
[
1
];
return
e
}
function
u
(
o
){
return
o
.
replace
(
/
(\d{3})\d{4}(\d{4})
/
,
"$1****$2"
)}
var
p
=
e
(
1
),
m
=
e
(
4
),
f
=
p
(
"#yoho-footer"
),
g
=
p
(
".yoho-page"
),
w
=
p
(
".yoho-header"
);
!
function
(){
var
o
,
n
=
f
.
children
(
".op-row"
),
e
=
p
(
".back-to-top"
),
t
=
s
();
d
(),
0
===
t
?
n
.
prepend
(
'<a href="http://m.yohobuy.com/signin.html?refer='
+
location
.
href
+
'">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'
):
n
.
prepend
(
'<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp='
+
Math
.
random
()
+
'">'
+
t
[
0
]
+
'</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'
),
e
.
length
>
0
&&
(
o
=
new
m
(
e
[
0
]),
o
.
on
(
"tap"
,
function
(
o
){
return
p
(
window
).
scrollTop
(
0
),
o
.
srcEvent
.
preventDefault
(),
!
1
})),
f
.
removeClass
(
"hide"
)}(),
function
(
o
,
n
,
e
,
t
,
i
){
var
a
=
n
.
createElement
(
e
),
s
=
n
.
getElementsByTagName
(
e
)[
0
];
o
.
YohoAcquisitionObject
=
i
,
o
[
i
]
=
function
(){
o
[
i
].
p
=
arguments
},
a
.
async
=
1
,
a
.
src
=
t
,
s
.
parentNode
.
insertBefore
(
a
,
s
)}(
window
,
document
,
"script"
,(
"https:"
===
document
.
location
.
protocol
?
"https"
:
"http"
)
+
"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js"
,
"_yas"
),
function
(){
var
o
=
c
();
o
=
0
===
o
?
""
:
o
,
window
.
_ozuid
=
o
,
window
.
_yas
&&
window
.
_yas
(
1
*
new
Date
,
"1.0.17"
,
"yohobuy_m"
,
o
,
""
,
""
)}(),
w
.
on
(
"touchstart"
,
"a"
,
function
(){
w
.
find
(
"a"
).
removeClass
(
"highlight"
),
p
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
"a"
,
function
(){
p
(
this
).
removeClass
(
"highlight"
)}),
g
.
on
(
"touchstart"
,
".tap-hightlight"
,
function
(){
p
(
this
).
siblings
(
".tap-hightlight"
).
removeClass
(
"highlight"
),
p
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
".tap-hightlight"
,
function
(){
p
(
this
).
removeClass
(
"highlight"
)}),
p
(
".nav-home"
).
on
(
"touchstart"
,
function
(){
p
(
".homebuttom"
).
toggleClass
(
"hide"
)}),
function
(){
var
o
,
n
,
e
=
0
,
t
=
"webkit moz ms o"
.
split
(
" "
),
i
=
window
.
requestAnimationFrame
,
a
=
window
.
cancelAnimationFrame
;
for
(
n
=
0
;
n
<
t
.
length
&&
(
!
i
||!
a
);
n
++
)
o
=
t
[
n
],
i
=
i
||
window
[
o
+
"RequestAnimationFrame"
],
a
=
a
||
window
[
o
+
"CancelAnimationFrame"
]
||
window
[
o
+
"CancelRequestAnimationFrame"
];
i
&&
a
||
(
i
=
function
(
o
){
var
n
=
(
new
Date
).
getTime
(),
t
=
Math
.
max
(
0
,
16
-
(
n
-
e
)),
i
=
window
.
setTimeout
(
function
(){
o
(
n
+
t
)},
t
);
return
e
=
n
+
t
,
i
},
a
=
function
(
o
){
window
.
clearTimeout
(
o
)}),
window
.
requestAnimationFrame
=
i
,
window
.
cancelAnimationFrame
=
a
}(),
p
.
extend
({
queryString
:
h
}),
11
===
f
.
find
(
".user-name"
).
text
().
length
&&
f
.
find
(
".user-name"
).
html
(
u
(
f
.
find
(
".user-name"
).
text
())),
window
.
cookie
=
t
,
window
.
setCookie
=
i
,
window
.
isCookiesEnabled
=
a
,
window
.
getUser
=
s
,
window
.
getUid
=
c
,
window
.
getShoppingKey
=
r
,
window
.
rePosFooter
=
d
,
window
.
reMarginFooter
=
l
,
window
.
queryString
=
h
()},
5
:
function
(
o
,
n
,
e
){
function
t
(
o
){
var
n
=
'<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'
;
d
=!
0
,
o
||
(
o
=
r
),
o
.
append
(
n
),
s
=
o
.
children
(
".loading-mask"
),
c
(
"body"
).
on
(
"touchstart touchmove touchend"
,
".loading-mask"
,
function
(){
return
!
1
})}
function
i
(){
d
||
(
t
(),
d
=!
0
),
s
.
removeClass
(
"hide"
)}
function
a
(){
s
.
addClass
(
"hide"
)}
var
s
,
c
=
e
(
1
),
r
=
c
(
".yoho-page"
),
d
=!
1
;
n
.
init
=
t
,
n
.
showLoadingMask
=
i
,
n
.
hideLoadingMask
=
a
,
n
.
show
=
i
,
n
.
hide
=
a
},
17
:
function
(
o
,
n
,
e
){
var
t
=
e
(
1
),
i
=
e
(
2
);
e
(
3
),
window
.
setCookie
(
"guangStarUid"
,
window
.
queryString
.
uid
),
t
(
".collocation-list,.detail-list"
).
on
(
"click"
,
".collection"
,
function
(){
var
o
,
n
,
e
,
a
=
t
(
this
),
s
=
a
.
find
(
".collected-ico"
);
o
=
s
.
hasClass
(
"collected"
)?
"del"
:
"fav"
,
t
(
this
).
parents
(
".collocation-list"
).
length
>
0
?(
n
=
"1"
,
e
=
""
):(
n
=
"2"
,
e
=
t
(
".detail-list"
).
data
(
"name"
)),
t
.
ajax
({
type
:
"POST"
,
url
:
"/guang/star/setFavorite"
,
data
:{
articleId
:
a
.
parents
(
"li"
).
attr
(
"articleId"
),
type
:
o
,
pageType
:
n
,
tag
:
e
},
success
:
function
(
o
){
var
n
=
o
.
code
;
200
===
n
&&
(
s
.
hasClass
(
"collected"
)?
s
.
removeClass
(
"collected"
):
s
.
addClass
(
"collected"
)),
400
===
n
&&
(
t
(
"#collocation-link"
).
length
<=
0
&&
t
(
"body"
).
append
(
"<a href='"
+
o
.
data
+
'\' style="display:none;" id="collocation-link"><span class="collocation-link"></span></a>'
),
t
(
".collocation-link"
).
click
())},
error
:
function
(){
i
.
show
(
"网络断开连接了~"
)}})})}});
\ No newline at end of file
...
...
public/dist/m-yohobuy-node/0.1.0/guang.star.js
View file @
645e027
webpackJsonp
([
10
],{
0
:
function
(
t
,
i
,
e
){
function
s
(
t
,
i
,
e
){
var
s
=
t
.
find
(
i
),
o
=
t
.
find
(
e
);
s
[
0
].
mlellipsis
(
2
),
o
[
0
].
mlellipsis
(
3
)}
function
o
(
t
){
var
i
=
new
Image
,
e
=
""
;
e
=
t
.
data
(
"avatar"
),
i
.
onload
=
function
(){
t
.
css
(
"background-image"
,
"url("
+
e
+
")"
)},
e
?
i
.
src
=
e
:
t
.
addClass
(
"default-avater"
)}
function
n
(
t
){
return
h
=
t
.
index
(),
t
.
hasClass
(
"swiper-slide-active"
)?
void
0
:(
h
>=
2
*
l
+
1
?(
d
&&
d
.
slideTo
(
l
+
1
,
0
),
p
.
slideTo
(
l
+
1
,
0
)):
l
-
1
>=
h
?(
d
&&
d
.
slideTo
(
2
*
l
-
1
,
0
),
p
.
slideTo
(
2
*
l
-
(
l
-
h
),
0
)):(
d
&&
d
.
slideTo
(
h
,
200
),
p
.
slideTo
(
h
,
200
)),
!
1
)}
function
r
(){
var
t
,
i
=
g
(
".loading-tip"
),
e
=
g
(
".avatar-wrap:not(.avatar-clone)"
);
t
=
new
T
(
".star-wrap"
,{
height
:
Y
,
pullDown
:
function
(){
E
||
(
E
=!
0
,
u
())}}),
t
.
iScroll
.
on
(
"scrollStart"
,
function
(){
-
1
===
this
.
directionY
&&
i
.
slideDown
()}),
t
.
iScroll
.
on
(
"scroll"
,
function
(){
e
.
offset
().
top
<=
X
&&
(
f
.
show
(),
d
||
(
d
=
new
v
(
".avatar-0"
,{
loop
:
!
0
,
initialSlide
:
g
(
".avatar-1"
).
find
(
".swiper-slide-active"
).
index
()
%
l
,
centeredSlides
:
!
0
,
slidesPerView
:
"auto"
,
loopedSlides
:
l
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
_
,
watchSlidesProgress
:
!
0
,
watchSlidesVisibility
:
!
0
,
onInit
:
function
(){
g
(
".avatar-0 li"
).
on
(
"click"
,
function
(){
return
c
=
n
(
g
(
this
))})}}),
d
.
params
.
control
=
p
,
p
.
params
.
control
=
d
)),
e
.
offset
().
top
>
g
(
".avatar-1"
)[
0
].
scrollHeight
&&
f
.
hide
()}),
t
.
iScroll
.
on
(
"scrollEnd"
,
function
(){
i
.
slideUp
()}),
g
(
".avatar"
).
each
(
function
(
t
,
i
){
g
(
i
).
addClass
(
"avatar-"
+
t
)}),
l
>
1
&&
(
p
=
new
v
(
".avatar-1"
,{
loop
:
!
0
,
centeredSlides
:
!
0
,
slidesPerView
:
"auto"
,
loopedSlides
:
l
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
_
,
watchSlidesProgress
:
!
0
,
watchSlidesVisibility
:
!
0
,
onInit
:
function
(){
g
(
".avatar-1 li"
).
on
(
"click"
,
function
(){
return
c
=
n
(
g
(
this
))})}})),
g
(
".article-avatar-swiper"
).
find
(
"li"
).
length
>
1
&&
new
v
(
".article-avatar-swiper"
,{
initialSlide
:
0
,
lazyLoading
:
!
0
,
lazyLoadingInPrevNext
:
!
0
,
loop
:
!
0
,
autoplay
:
5
e3
}),
g
(
".banner-swiper"
).
find
(
"li"
).
length
>
1
&&
new
v
(
".banner-swiper"
,{
lazyLoading
:
!
0
,
lazyLoadingInPrevNext
:
!
0
,
loop
:
!
0
,
autoplay
:
3
e3
,
autoplayDisableOnInteraction
:
!
1
,
paginationClickable
:
!
0
,
slideElement
:
"li"
,
pagination
:
".banner-top .pagination-inner"
}),
g
(
".star-info"
).
find
(
"li"
).
length
>
0
&&
m
.
each
(
function
(
t
,
i
){
s
(
g
(
i
),
".article-title"
,
"p"
)}),
g
(
".rank-avatar"
).
each
(
function
(
t
,
i
){
o
(
g
(
i
))}),
g
(
".star"
).
each
(
function
(
t
,
i
){
""
===
g
(
i
).
attr
(
"src"
)
&&
g
(
i
).
addClass
(
"default-avater"
)}),
g
(
"#yoho-header, .head-tab"
).
on
(
"touchmove"
,
function
(){
return
!
1
}),
g
(
"img"
).
on
(
"load"
,
function
(){
t
.
iScroll
.
refresh
()})}
function
a
(){
m
=
g
(
".star-article"
),
l
=
g
(
".avatar-wrap"
).
find
(
".swiper-slide"
).
length
,
f
&&
f
.
remove
(),
k
.
before
(
g
(
".avatar-swiper"
).
clone
().
addClass
(
"avatar-clone"
).
hide
()),
f
=
g
(
".avatar-clone"
),
g
(
".cont-area"
).
each
(
function
(){
s
(
g
(
this
),
".title"
,
".cont-txt"
)}),
w
(
g
(
"img.lazy"
)),
r
()}
var
h
,
l
,
c
,
p
,
d
,
u
,
f
,
m
,
g
=
e
(
1
),
v
=
e
(
11
),
y
=
e
(
2
),
w
=
e
(
6
),
x
=
e
(
10
),
S
=
e
(
5
),
T
=
e
(
29
),
b
=
g
(
window
),
E
=!
1
,
k
=
g
(
".star-main"
),
P
=
g
(
".head-tab"
),
X
=
P
.
height
(),
Y
=
g
(
window
).
height
()
-
X
,
_
=
g
(
".swiper-num2"
).
width
()
-
g
(
".swiper-num1"
).
width
()
+
(
g
(
".swiper-num3"
).
width
()
-
g
(
".swiper-num1"
).
width
())
/
2
;
e
(
3
),
w
(
g
(
"img.lazy"
)),
x
.
init
(),
b
.
on
(
"mousewheel"
,
!
1
),
u
=
function
(){
S
.
showLoadingMask
(),
g
.
ajax
({
url
:
"/guang/star/getIndexHtml"
,
dataType
:
"html"
,
success
:
function
(
t
){
E
=!
1
,
t
&&
(
d
&&
(
d
.
destroy
(
!
0
,
!
0
),
d
=
""
),
k
.
html
(
t
),
a
()),
S
.
hideLoadingMask
()},
error
:
function
(){
y
.
show
(
"网络断开连接了~"
)}})},
a
(
),
window
.
setCookie
(
"guangStarUid"
,
window
.
queryString
.
uid
)},
2
:
function
(
t
,
i
,
e
){
function
s
(
t
,
i
){
var
e
,
s
;
"undefined"
!=
typeof
t
&&
(
e
=
t
.
toString
(),
s
=
i
&&
i
>
0
?
i
:
2
e3
,
o
.
text
(
e
).
show
(),
n
=
setTimeout
(
function
(){
"block"
===
o
.
css
(
"display"
)
&&
o
.
hide
()},
s
))}
var
o
,
n
,
r
=
e
(
1
);
!
function
(){
var
t
=
'<div id="yoho-tip" class="yoho-tip"></div>'
;
r
(
".yoho-page"
).
append
(
t
),
o
=
r
(
"#yoho-tip"
),
o
.
on
(
"touchend"
,
function
(){
o
.
hide
(),
clearTimeout
(
n
)})}(),
i
.
show
=
s
},
3
:
function
(
t
,
i
,
e
){
function
s
(
t
){
var
i
,
e
,
s
=
document
.
cookie
;
return
document
.
cookie
&&
""
!==
document
.
cookie
&&
(
e
=
s
.
indexOf
(
t
+
"="
),
e
>-
1
&&
(
e
+=
t
.
length
+
1
,
i
=
decodeURIComponent
(
u
.
trim
(
s
.
substring
(
e
,
s
.
indexOf
(
";"
,
e
)))))),
i
}
function
o
(
t
,
i
,
e
){
var
s
,
o
,
n
,
r
,
a
=
""
;
"undefined"
!=
typeof
i
&&
(
e
=
e
||
{},
null
===
i
&&
(
i
=
""
,
e
.
expires
=-
1
),
e
.
expires
&&
(
"number"
==
typeof
e
.
expires
||
e
.
expires
.
toUTCString
)
&&
(
"number"
==
typeof
e
.
expires
?(
r
=
new
Date
,
r
.
setTime
(
r
.
getTime
()
+
24
*
e
.
expires
*
60
*
60
*
1
e3
)):
r
=
e
.
expires
,
a
=
"; expires="
+
r
.
toUTCString
()),
s
=
e
.
path
?
"; path="
+
e
.
path
:
""
,
o
=
e
.
domain
?
"; domain="
+
e
.
domain
:
""
,
n
=
e
.
secure
?
"; secure"
:
""
,
document
.
cookie
=
[
t
,
"="
,
encodeURIComponent
(
i
),
a
,
s
,
o
,
n
].
join
(
""
))}
function
n
(){
var
t
=!!
navigator
.
cookieEnabled
;
return
"undefined"
!=
typeof
navigator
.
cookieEnabled
||
t
||
(
document
.
cookie
=
"testcookie"
,
t
=-
1
!==
document
.
cookie
.
indexOf
(
"testcookie"
)),
t
}
function
r
(){
var
t
,
i
=
s
(
"_UID"
);
return
"undefined"
==
typeof
i
?
0
:(
t
=
i
.
split
(
"::"
),
"undefined"
==
typeof
t
||
t
.
length
<
4
?
0
:
t
)}
function
a
(){
var
t
=
r
();
return
0
===
t
?
0
:
t
[
1
]}
function
h
(){
var
t
=
s
(
"_g"
);
return
"undefined"
==
typeof
t
?
""
:
JSON
.
parse
(
t
).
k
}
function
l
(){
var
t
;
0
!==
m
.
length
&&
(
t
=
Math
.
min
(
u
(
window
).
height
(),
window
.
screen
.
availHeight
),
u
(
"body"
).
height
()
<=
t
-
parseInt
(
m
.
css
(
"height"
),
0
)?
m
.
addClass
(
"bottom"
):
m
.
removeClass
(
"bottom"
))}
function
c
(
t
){
var
i
=
u
(
t
).
outerHeight
();
t
&&
m
.
css
(
"margin-bottom"
,
i
+
"px"
)}
function
p
(){
var
t
,
i
,
e
=
[],
s
=
window
.
location
.
search
.
slice
(
1
).
split
(
"&"
);
for
(
i
=
0
;
i
<
s
.
length
;
i
++
)
t
=
s
[
i
].
split
(
"="
),
e
.
push
(
t
[
0
]),
e
[
t
[
0
]]
=
t
[
1
];
return
e
}
function
d
(
t
){
return
t
.
replace
(
/
(\d{3})\d{4}(\d{4})
/
,
"$1****$2"
)}
var
u
=
e
(
1
),
f
=
e
(
4
),
m
=
u
(
"#yoho-footer"
),
g
=
u
(
".yoho-page"
),
v
=
u
(
".yoho-header"
);
!
function
(){
var
t
,
i
=
m
.
children
(
".op-row"
),
e
=
u
(
".back-to-top"
),
s
=
r
();
l
(),
0
===
s
?
i
.
prepend
(
'<a href="http://m.yohobuy.com/signin.html?refer='
+
location
.
href
+
'">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'
):
i
.
prepend
(
'<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp='
+
Math
.
random
()
+
'">'
+
s
[
0
]
+
'</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'
),
e
.
length
>
0
&&
(
t
=
new
f
(
e
[
0
]),
t
.
on
(
"tap"
,
function
(
t
){
return
u
(
window
).
scrollTop
(
0
),
t
.
srcEvent
.
preventDefault
(),
!
1
})),
m
.
removeClass
(
"hide"
)}(),
function
(
t
,
i
,
e
,
s
,
o
){
var
n
=
i
.
createElement
(
e
),
r
=
i
.
getElementsByTagName
(
e
)[
0
];
t
.
YohoAcquisitionObject
=
o
,
t
[
o
]
=
function
(){
t
[
o
].
p
=
arguments
},
n
.
async
=
1
,
n
.
src
=
s
,
r
.
parentNode
.
insertBefore
(
n
,
r
)}(
window
,
document
,
"script"
,(
"https:"
===
document
.
location
.
protocol
?
"https"
:
"http"
)
+
"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js"
,
"_yas"
),
function
(){
var
t
=
a
();
t
=
0
===
t
?
""
:
t
,
window
.
_ozuid
=
t
,
window
.
_yas
&&
window
.
_yas
(
1
*
new
Date
,
"1.0.17"
,
"yohobuy_m"
,
t
,
""
,
""
)}(),
v
.
on
(
"touchstart"
,
"a"
,
function
(){
v
.
find
(
"a"
).
removeClass
(
"highlight"
),
u
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
"a"
,
function
(){
u
(
this
).
removeClass
(
"highlight"
)}),
g
.
on
(
"touchstart"
,
".tap-hightlight"
,
function
(){
u
(
this
).
siblings
(
".tap-hightlight"
).
removeClass
(
"highlight"
),
u
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
".tap-hightlight"
,
function
(){
u
(
this
).
removeClass
(
"highlight"
)}),
u
(
".nav-home"
).
on
(
"touchstart"
,
function
(){
u
(
".homebuttom"
).
toggleClass
(
"hide"
)}),
function
(){
var
t
,
i
,
e
=
0
,
s
=
"webkit moz ms o"
.
split
(
" "
),
o
=
window
.
requestAnimationFrame
,
n
=
window
.
cancelAnimationFrame
;
for
(
i
=
0
;
i
<
s
.
length
&&
(
!
o
||!
n
);
i
++
)
t
=
s
[
i
],
o
=
o
||
window
[
t
+
"RequestAnimationFrame"
],
n
=
n
||
window
[
t
+
"CancelAnimationFrame"
]
||
window
[
t
+
"CancelRequestAnimationFrame"
];
o
&&
n
||
(
o
=
function
(
t
){
var
i
=
(
new
Date
).
getTime
(),
s
=
Math
.
max
(
0
,
16
-
(
i
-
e
)),
o
=
window
.
setTimeout
(
function
(){
t
(
i
+
s
)},
s
);
return
e
=
i
+
s
,
o
},
n
=
function
(
t
){
window
.
clearTimeout
(
t
)}),
window
.
requestAnimationFrame
=
o
,
window
.
cancelAnimationFrame
=
n
}(),
u
.
extend
({
queryString
:
p
}),
11
===
m
.
find
(
".user-name"
).
text
().
length
&&
m
.
find
(
".user-name"
).
html
(
d
(
m
.
find
(
".user-name"
).
text
())),
window
.
cookie
=
s
,
window
.
setCookie
=
o
,
window
.
isCookiesEnabled
=
n
,
window
.
getUser
=
r
,
window
.
getUid
=
a
,
window
.
getShoppingKey
=
h
,
window
.
rePosFooter
=
l
,
window
.
reMarginFooter
=
c
,
window
.
queryString
=
p
()},
5
:
function
(
t
,
i
,
e
){
function
s
(
t
){
var
i
=
'<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'
;
l
=!
0
,
t
||
(
t
=
h
),
t
.
append
(
i
),
r
=
t
.
children
(
".loading-mask"
),
a
(
"body"
).
on
(
"touchstart touchmove touchend"
,
".loading-mask"
,
function
(){
return
!
1
})}
function
o
(){
l
||
(
s
(),
l
=!
0
),
r
.
removeClass
(
"hide"
)}
function
n
(){
r
.
addClass
(
"hide"
)}
var
r
,
a
=
e
(
1
),
h
=
a
(
".yoho-page"
),
l
=!
1
;
i
.
init
=
s
,
i
.
showLoadingMask
=
o
,
i
.
hideLoadingMask
=
n
,
i
.
show
=
o
,
i
.
hide
=
n
},
20
:
function
(
t
,
i
,
e
){
var
s
;
/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */
webpackJsonp
([
10
],{
0
:
function
(
t
,
i
,
e
){
function
s
(
t
,
i
,
e
){
var
s
=
t
.
find
(
i
),
o
=
t
.
find
(
e
);
s
[
0
].
mlellipsis
(
2
),
o
[
0
].
mlellipsis
(
3
)}
function
o
(
t
){
var
i
=
new
Image
,
e
=
""
;
e
=
t
.
data
(
"avatar"
),
i
.
onload
=
function
(){
t
.
css
(
"background-image"
,
"url("
+
e
+
")"
)},
e
?
i
.
src
=
e
:
t
.
addClass
(
"default-avater"
)}
function
n
(
t
){
return
h
=
t
.
index
(),
t
.
hasClass
(
"swiper-slide-active"
)?
void
0
:(
h
>=
2
*
l
+
1
?(
d
&&
d
.
slideTo
(
l
+
1
,
0
),
p
.
slideTo
(
l
+
1
,
0
)):
l
-
1
>=
h
?(
d
&&
d
.
slideTo
(
2
*
l
-
1
,
0
),
p
.
slideTo
(
2
*
l
-
(
l
-
h
),
0
)):(
d
&&
d
.
slideTo
(
h
,
200
),
p
.
slideTo
(
h
,
200
)),
!
1
)}
function
r
(){
y
(
".avatar"
).
each
(
function
(
t
,
i
){
y
(
i
).
addClass
(
"avatar-"
+
t
)}),
l
>
1
&&
(
p
=
new
w
(
".avatar-1"
,{
loop
:
!
0
,
centeredSlides
:
!
0
,
slidesPerView
:
"auto"
,
loopedSlides
:
l
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
D
,
watchSlidesProgress
:
!
0
,
watchSlidesVisibility
:
!
0
,
onInit
:
function
(){
y
(
".avatar-1 li"
).
on
(
"click"
,
function
(){
return
c
=
n
(
y
(
this
))})}})),
y
(
".article-avatar-swiper"
).
find
(
"li"
).
length
>
1
&&
new
w
(
".article-avatar-swiper"
,{
initialSlide
:
0
,
lazyLoading
:
!
0
,
lazyLoadingInPrevNext
:
!
0
,
loop
:
!
0
,
autoplay
:
5
e3
}),
y
(
".banner-swiper"
).
find
(
"li"
).
length
>
1
&&
new
w
(
".banner-swiper"
,{
lazyLoading
:
!
0
,
lazyLoadingInPrevNext
:
!
0
,
loop
:
!
0
,
autoplay
:
3
e3
,
autoplayDisableOnInteraction
:
!
1
,
paginationClickable
:
!
0
,
slideElement
:
"li"
,
pagination
:
".banner-top .pagination-inner"
}),
y
(
".star-info"
).
find
(
"li"
).
length
>
0
&&
m
.
each
(
function
(
t
,
i
){
s
(
y
(
i
),
".article-title"
,
"p"
)}),
y
(
".rank-avatar"
).
each
(
function
(
t
,
i
){
o
(
y
(
i
))}),
y
(
".star"
).
each
(
function
(
t
,
i
){
""
===
y
(
i
).
attr
(
"src"
)
&&
y
(
i
).
addClass
(
"default-avater"
)}),
y
(
"#yoho-header, .head-tab"
).
on
(
"touchmove"
,
function
(){
return
!
1
}),
y
(
"img"
).
on
(
"load"
,
function
(){
v
.
iScroll
.
refresh
()})}
function
a
(){
m
=
y
(
".star-article"
),
g
=
y
(
".avatar-wrap"
),
l
=
y
(
".avatar-wrap"
).
find
(
".swiper-slide"
).
length
,
f
&&
f
.
remove
(),
H
.
before
(
y
(
".avatar-swiper"
).
clone
().
addClass
(
"avatar-clone"
).
hide
()),
f
=
y
(
".avatar-clone"
),
y
(
".cont-area"
).
each
(
function
(){
s
(
y
(
this
),
".title"
,
".cont-txt"
)}),
S
(
y
(
"img.lazy"
)),
r
()}
var
h
,
l
,
c
,
p
,
d
,
u
,
f
,
m
,
g
,
v
,
y
=
e
(
1
),
w
=
e
(
11
),
x
=
e
(
2
),
S
=
e
(
6
),
T
=
e
(
10
),
b
=
e
(
5
),
E
=
e
(
29
),
k
=
y
(
window
),
P
=!
1
,
X
=
y
(
".main-content"
),
Y
=
y
(
".head-tab"
),
_
=
Y
.
height
(),
z
=
y
(
window
).
height
()
-
_
,
H
=
y
(
".loading-tip"
),
D
=
y
(
".swiper-num2"
).
width
()
-
y
(
".swiper-num1"
).
width
()
+
(
y
(
".swiper-num3"
).
width
()
-
y
(
".swiper-num1"
).
width
())
/
2
;
e
(
3
),
S
(
y
(
"img.lazy"
)),
T
.
init
(),
k
.
on
(
"mousewheel"
,
!
1
),
u
=
function
(){
b
.
showLoadingMask
(),
y
.
ajax
({
url
:
"/guang/star/getIndexHtml"
,
dataType
:
"html"
,
success
:
function
(
t
){
P
=!
1
,
t
&&
(
d
&&
(
d
.
destroy
(
!
0
,
!
0
),
d
=
""
),
X
.
html
(
t
),
a
()),
b
.
hideLoadingMask
()},
error
:
function
(){
x
.
show
(
"网络断开连接了~"
)}})},
a
(),
v
=
new
E
(
".star-main"
,{
height
:
z
,
pullDown
:
function
(){
P
||
(
P
=!
0
,
u
())}}),
v
.
iScroll
.
on
(
"scrollStart"
,
function
(){
-
1
===
this
.
directionY
&&
H
.
slideDown
()}),
v
.
iScroll
.
on
(
"scroll"
,
function
(){
g
.
offset
().
top
<=
_
&&
(
f
.
show
(),
d
||
(
d
=
new
w
(
".avatar-0"
,{
loop
:
!
0
,
initialSlide
:
y
(
".avatar-1"
).
find
(
".swiper-slide-active"
).
index
()
%
l
,
centeredSlides
:
!
0
,
slidesPerView
:
"auto"
,
loopedSlides
:
l
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
D
,
watchSlidesProgress
:
!
0
,
watchSlidesVisibility
:
!
0
,
onInit
:
function
(){
y
(
".avatar-0 li"
).
on
(
"click"
,
function
(){
return
c
=
n
(
y
(
this
))})}}),
d
.
params
.
control
=
p
,
p
.
params
.
control
=
d
)),
g
.
offset
().
top
>
y
(
".avatar-1"
)[
0
].
scrollHeight
&&
f
.
hide
()}),
v
.
iScroll
.
on
(
"scrollEnd"
,
function
(){
H
.
slideUp
()}
),
window
.
setCookie
(
"guangStarUid"
,
window
.
queryString
.
uid
)},
2
:
function
(
t
,
i
,
e
){
function
s
(
t
,
i
){
var
e
,
s
;
"undefined"
!=
typeof
t
&&
(
e
=
t
.
toString
(),
s
=
i
&&
i
>
0
?
i
:
2
e3
,
o
.
text
(
e
).
show
(),
n
=
setTimeout
(
function
(){
"block"
===
o
.
css
(
"display"
)
&&
o
.
hide
()},
s
))}
var
o
,
n
,
r
=
e
(
1
);
!
function
(){
var
t
=
'<div id="yoho-tip" class="yoho-tip"></div>'
;
r
(
".yoho-page"
).
append
(
t
),
o
=
r
(
"#yoho-tip"
),
o
.
on
(
"touchend"
,
function
(){
o
.
hide
(),
clearTimeout
(
n
)})}(),
i
.
show
=
s
},
3
:
function
(
t
,
i
,
e
){
function
s
(
t
){
var
i
,
e
,
s
=
document
.
cookie
;
return
document
.
cookie
&&
""
!==
document
.
cookie
&&
(
e
=
s
.
indexOf
(
t
+
"="
),
e
>-
1
&&
(
e
+=
t
.
length
+
1
,
i
=
decodeURIComponent
(
u
.
trim
(
s
.
substring
(
e
,
s
.
indexOf
(
";"
,
e
)))))),
i
}
function
o
(
t
,
i
,
e
){
var
s
,
o
,
n
,
r
,
a
=
""
;
"undefined"
!=
typeof
i
&&
(
e
=
e
||
{},
null
===
i
&&
(
i
=
""
,
e
.
expires
=-
1
),
e
.
expires
&&
(
"number"
==
typeof
e
.
expires
||
e
.
expires
.
toUTCString
)
&&
(
"number"
==
typeof
e
.
expires
?(
r
=
new
Date
,
r
.
setTime
(
r
.
getTime
()
+
24
*
e
.
expires
*
60
*
60
*
1
e3
)):
r
=
e
.
expires
,
a
=
"; expires="
+
r
.
toUTCString
()),
s
=
e
.
path
?
"; path="
+
e
.
path
:
""
,
o
=
e
.
domain
?
"; domain="
+
e
.
domain
:
""
,
n
=
e
.
secure
?
"; secure"
:
""
,
document
.
cookie
=
[
t
,
"="
,
encodeURIComponent
(
i
),
a
,
s
,
o
,
n
].
join
(
""
))}
function
n
(){
var
t
=!!
navigator
.
cookieEnabled
;
return
"undefined"
!=
typeof
navigator
.
cookieEnabled
||
t
||
(
document
.
cookie
=
"testcookie"
,
t
=-
1
!==
document
.
cookie
.
indexOf
(
"testcookie"
)),
t
}
function
r
(){
var
t
,
i
=
s
(
"_UID"
);
return
"undefined"
==
typeof
i
?
0
:(
t
=
i
.
split
(
"::"
),
"undefined"
==
typeof
t
||
t
.
length
<
4
?
0
:
t
)}
function
a
(){
var
t
=
r
();
return
0
===
t
?
0
:
t
[
1
]}
function
h
(){
var
t
=
s
(
"_g"
);
return
"undefined"
==
typeof
t
?
""
:
JSON
.
parse
(
t
).
k
}
function
l
(){
var
t
;
0
!==
m
.
length
&&
(
t
=
Math
.
min
(
u
(
window
).
height
(),
window
.
screen
.
availHeight
),
u
(
"body"
).
height
()
<=
t
-
parseInt
(
m
.
css
(
"height"
),
0
)?
m
.
addClass
(
"bottom"
):
m
.
removeClass
(
"bottom"
))}
function
c
(
t
){
var
i
=
u
(
t
).
outerHeight
();
t
&&
m
.
css
(
"margin-bottom"
,
i
+
"px"
)}
function
p
(){
var
t
,
i
,
e
=
[],
s
=
window
.
location
.
search
.
slice
(
1
).
split
(
"&"
);
for
(
i
=
0
;
i
<
s
.
length
;
i
++
)
t
=
s
[
i
].
split
(
"="
),
e
.
push
(
t
[
0
]),
e
[
t
[
0
]]
=
t
[
1
];
return
e
}
function
d
(
t
){
return
t
.
replace
(
/
(\d{3})\d{4}(\d{4})
/
,
"$1****$2"
)}
var
u
=
e
(
1
),
f
=
e
(
4
),
m
=
u
(
"#yoho-footer"
),
g
=
u
(
".yoho-page"
),
v
=
u
(
".yoho-header"
);
!
function
(){
var
t
,
i
=
m
.
children
(
".op-row"
),
e
=
u
(
".back-to-top"
),
s
=
r
();
l
(),
0
===
s
?
i
.
prepend
(
'<a href="http://m.yohobuy.com/signin.html?refer='
+
location
.
href
+
'">登录</a><span class="sep-line">|</span><a href="http://m.yohobuy.com/reg.html">注册</a>'
):
i
.
prepend
(
'<span>Hi,</span><a class="user-name" href="http://m.yohobuy.com/home?tmp='
+
Math
.
random
()
+
'">'
+
s
[
0
]
+
'</a><a href="http://m.yohobuy.com/passport/signout/index">退出</a>'
),
e
.
length
>
0
&&
(
t
=
new
f
(
e
[
0
]),
t
.
on
(
"tap"
,
function
(
t
){
return
u
(
window
).
scrollTop
(
0
),
t
.
srcEvent
.
preventDefault
(),
!
1
})),
m
.
removeClass
(
"hide"
)}(),
function
(
t
,
i
,
e
,
s
,
o
){
var
n
=
i
.
createElement
(
e
),
r
=
i
.
getElementsByTagName
(
e
)[
0
];
t
.
YohoAcquisitionObject
=
o
,
t
[
o
]
=
function
(){
t
[
o
].
p
=
arguments
},
n
.
async
=
1
,
n
.
src
=
s
,
r
.
parentNode
.
insertBefore
(
n
,
r
)}(
window
,
document
,
"script"
,(
"https:"
===
document
.
location
.
protocol
?
"https"
:
"http"
)
+
"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js"
,
"_yas"
),
function
(){
var
t
=
a
();
t
=
0
===
t
?
""
:
t
,
window
.
_ozuid
=
t
,
window
.
_yas
&&
window
.
_yas
(
1
*
new
Date
,
"1.0.17"
,
"yohobuy_m"
,
t
,
""
,
""
)}(),
v
.
on
(
"touchstart"
,
"a"
,
function
(){
v
.
find
(
"a"
).
removeClass
(
"highlight"
),
u
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
"a"
,
function
(){
u
(
this
).
removeClass
(
"highlight"
)}),
g
.
on
(
"touchstart"
,
".tap-hightlight"
,
function
(){
u
(
this
).
siblings
(
".tap-hightlight"
).
removeClass
(
"highlight"
),
u
(
this
).
addClass
(
"highlight"
)}).
on
(
"touchend touchcancel"
,
".tap-hightlight"
,
function
(){
u
(
this
).
removeClass
(
"highlight"
)}),
u
(
".nav-home"
).
on
(
"touchstart"
,
function
(){
u
(
".homebuttom"
).
toggleClass
(
"hide"
)}),
function
(){
var
t
,
i
,
e
=
0
,
s
=
"webkit moz ms o"
.
split
(
" "
),
o
=
window
.
requestAnimationFrame
,
n
=
window
.
cancelAnimationFrame
;
for
(
i
=
0
;
i
<
s
.
length
&&
(
!
o
||!
n
);
i
++
)
t
=
s
[
i
],
o
=
o
||
window
[
t
+
"RequestAnimationFrame"
],
n
=
n
||
window
[
t
+
"CancelAnimationFrame"
]
||
window
[
t
+
"CancelRequestAnimationFrame"
];
o
&&
n
||
(
o
=
function
(
t
){
var
i
=
(
new
Date
).
getTime
(),
s
=
Math
.
max
(
0
,
16
-
(
i
-
e
)),
o
=
window
.
setTimeout
(
function
(){
t
(
i
+
s
)},
s
);
return
e
=
i
+
s
,
o
},
n
=
function
(
t
){
window
.
clearTimeout
(
t
)}),
window
.
requestAnimationFrame
=
o
,
window
.
cancelAnimationFrame
=
n
}(),
u
.
extend
({
queryString
:
p
}),
11
===
m
.
find
(
".user-name"
).
text
().
length
&&
m
.
find
(
".user-name"
).
html
(
d
(
m
.
find
(
".user-name"
).
text
())),
window
.
cookie
=
s
,
window
.
setCookie
=
o
,
window
.
isCookiesEnabled
=
n
,
window
.
getUser
=
r
,
window
.
getUid
=
a
,
window
.
getShoppingKey
=
h
,
window
.
rePosFooter
=
l
,
window
.
reMarginFooter
=
c
,
window
.
queryString
=
p
()},
5
:
function
(
t
,
i
,
e
){
function
s
(
t
){
var
i
=
'<div class="loading-mask hide"><div class="loading"><div></div><div></div><div></div></div></div>'
;
l
=!
0
,
t
||
(
t
=
h
),
t
.
append
(
i
),
r
=
t
.
children
(
".loading-mask"
),
a
(
"body"
).
on
(
"touchstart touchmove touchend"
,
".loading-mask"
,
function
(){
return
!
1
})}
function
o
(){
l
||
(
s
(),
l
=!
0
),
r
.
removeClass
(
"hide"
)}
function
n
(){
r
.
addClass
(
"hide"
)}
var
r
,
a
=
e
(
1
),
h
=
a
(
".yoho-page"
),
l
=!
1
;
i
.
init
=
s
,
i
.
showLoadingMask
=
o
,
i
.
hideLoadingMask
=
n
,
i
.
show
=
o
,
i
.
hide
=
n
},
20
:
function
(
t
,
i
,
e
){
var
s
;
/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */
!
function
(
o
,
n
,
r
){
function
a
(
t
,
i
){
this
.
wrapper
=
"string"
==
typeof
t
?
n
.
querySelector
(
t
):
t
,
this
.
scroller
=
this
.
wrapper
.
children
[
0
],
this
.
scrollerStyle
=
this
.
scroller
.
style
,
this
.
options
=
{
resizeScrollbars
:
!
0
,
mouseWheelSpeed
:
20
,
snapThreshold
:.
334
,
disablePointer
:
!
p
.
hasPointer
,
disableTouch
:
p
.
hasPointer
||!
p
.
hasTouch
,
disableMouse
:
p
.
hasPointer
||
p
.
hasTouch
,
startX
:
0
,
startY
:
0
,
scrollY
:
!
0
,
directionLockThreshold
:
5
,
momentum
:
!
0
,
bounce
:
!
0
,
bounceTime
:
600
,
bounceEasing
:
""
,
preventDefault
:
!
0
,
preventDefaultException
:{
tagName
:
/^
(
INPUT|TEXTAREA|BUTTON|SELECT
)
$/
},
HWCompositing
:
!
0
,
useTransition
:
!
0
,
useTransform
:
!
0
,
bindToWrapper
:
"undefined"
==
typeof
o
.
onmousedown
};
for
(
var
e
in
i
)
this
.
options
[
e
]
=
i
[
e
];
this
.
translateZ
=
this
.
options
.
HWCompositing
&&
p
.
hasPerspective
?
" translateZ(0)"
:
""
,
this
.
options
.
useTransition
=
p
.
hasTransition
&&
this
.
options
.
useTransition
,
this
.
options
.
useTransform
=
p
.
hasTransform
&&
this
.
options
.
useTransform
,
this
.
options
.
eventPassthrough
=
this
.
options
.
eventPassthrough
===!
0
?
"vertical"
:
this
.
options
.
eventPassthrough
,
this
.
options
.
preventDefault
=!
this
.
options
.
eventPassthrough
&&
this
.
options
.
preventDefault
,
this
.
options
.
scrollY
=
"vertical"
==
this
.
options
.
eventPassthrough
?
!
1
:
this
.
options
.
scrollY
,
this
.
options
.
scrollX
=
"horizontal"
==
this
.
options
.
eventPassthrough
?
!
1
:
this
.
options
.
scrollX
,
this
.
options
.
freeScroll
=
this
.
options
.
freeScroll
&&!
this
.
options
.
eventPassthrough
,
this
.
options
.
directionLockThreshold
=
this
.
options
.
eventPassthrough
?
0
:
this
.
options
.
directionLockThreshold
,
this
.
options
.
bounceEasing
=
"string"
==
typeof
this
.
options
.
bounceEasing
?
p
.
ease
[
this
.
options
.
bounceEasing
]
||
p
.
ease
.
circular
:
this
.
options
.
bounceEasing
,
this
.
options
.
resizePolling
=
void
0
===
this
.
options
.
resizePolling
?
60
:
this
.
options
.
resizePolling
,
this
.
options
.
tap
===!
0
&&
(
this
.
options
.
tap
=
"tap"
),
"scale"
==
this
.
options
.
shrinkScrollbars
&&
(
this
.
options
.
useTransition
=!
1
),
this
.
options
.
invertWheelDirection
=
this
.
options
.
invertWheelDirection
?
-
1
:
1
,
3
==
this
.
options
.
probeType
&&
(
this
.
options
.
useTransition
=!
1
),
this
.
x
=
0
,
this
.
y
=
0
,
this
.
directionX
=
0
,
this
.
directionY
=
0
,
this
.
_events
=
{},
this
.
_init
(),
this
.
refresh
(),
this
.
scrollTo
(
this
.
options
.
startX
,
this
.
options
.
startY
),
this
.
enable
()}
function
h
(
t
,
i
,
e
){
var
s
=
n
.
createElement
(
"div"
),
o
=
n
.
createElement
(
"div"
);
return
e
===!
0
&&
(
s
.
style
.
cssText
=
"position:absolute;z-index:9999"
,
o
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"
),
o
.
className
=
"iScrollIndicator"
,
"h"
==
t
?(
e
===!
0
&&
(
s
.
style
.
cssText
+=
";height:7px;left:2px;right:2px;bottom:0"
,
o
.
style
.
height
=
"100%"
),
s
.
className
=
"iScrollHorizontalScrollbar"
):(
e
===!
0
&&
(
s
.
style
.
cssText
+=
";width:7px;bottom:2px;top:2px;right:1px"
,
o
.
style
.
width
=
"100%"
),
s
.
className
=
"iScrollVerticalScrollbar"
),
s
.
style
.
cssText
+=
";overflow:hidden"
,
i
||
(
s
.
style
.
pointerEvents
=
"none"
),
s
.
appendChild
(
o
),
s
}
function
l
(
t
,
i
){
this
.
wrapper
=
"string"
==
typeof
i
.
el
?
n
.
querySelector
(
i
.
el
):
i
.
el
,
this
.
wrapperStyle
=
this
.
wrapper
.
style
,
this
.
indicator
=
this
.
wrapper
.
children
[
0
],
this
.
indicatorStyle
=
this
.
indicator
.
style
,
this
.
scroller
=
t
,
this
.
options
=
{
listenX
:
!
0
,
listenY
:
!
0
,
interactive
:
!
1
,
resize
:
!
0
,
defaultScrollbars
:
!
1
,
shrink
:
!
1
,
fade
:
!
1
,
speedRatioX
:
0
,
speedRatioY
:
0
};
for
(
var
e
in
i
)
this
.
options
[
e
]
=
i
[
e
];
if
(
this
.
sizeRatioX
=
1
,
this
.
sizeRatioY
=
1
,
this
.
maxPosX
=
0
,
this
.
maxPosY
=
0
,
this
.
options
.
interactive
&&
(
this
.
options
.
disableTouch
||
(
p
.
addEvent
(
this
.
indicator
,
"touchstart"
,
this
),
p
.
addEvent
(
o
,
"touchend"
,
this
)),
this
.
options
.
disablePointer
||
(
p
.
addEvent
(
this
.
indicator
,
p
.
prefixPointerEvent
(
"pointerdown"
),
this
),
p
.
addEvent
(
o
,
p
.
prefixPointerEvent
(
"pointerup"
),
this
)),
this
.
options
.
disableMouse
||
(
p
.
addEvent
(
this
.
indicator
,
"mousedown"
,
this
),
p
.
addEvent
(
o
,
"mouseup"
,
this
))),
this
.
options
.
fade
){
this
.
wrapperStyle
[
p
.
style
.
transform
]
=
this
.
scroller
.
translateZ
;
var
s
=
p
.
style
.
transitionDuration
;
this
.
wrapperStyle
[
s
]
=
p
.
isBadAndroid
?
"0.0001ms"
:
"0ms"
;
var
r
=
this
;
p
.
isBadAndroid
&&
c
(
function
(){
"0.0001ms"
===
r
.
wrapperStyle
[
s
]
&&
(
r
.
wrapperStyle
[
s
]
=
"0s"
)}),
this
.
wrapperStyle
.
opacity
=
"0"
}}
var
c
=
o
.
requestAnimationFrame
||
o
.
webkitRequestAnimationFrame
||
o
.
mozRequestAnimationFrame
||
o
.
oRequestAnimationFrame
||
o
.
msRequestAnimationFrame
||
function
(
t
){
o
.
setTimeout
(
t
,
1
e3
/
60
)},
p
=
function
(){
function
t
(
t
){
return
s
===!
1
?
!
1
:
""
===
s
?
t
:
s
+
t
.
charAt
(
0
).
toUpperCase
()
+
t
.
substr
(
1
)}
var
i
=
{},
e
=
n
.
createElement
(
"div"
).
style
,
s
=
function
(){
for
(
var
t
,
i
=
[
"t"
,
"webkitT"
,
"MozT"
,
"msT"
,
"OT"
],
s
=
0
,
o
=
i
.
length
;
o
>
s
;
s
++
)
if
(
t
=
i
[
s
]
+
"ransform"
,
t
in
e
)
return
i
[
s
].
substr
(
0
,
i
[
s
].
length
-
1
);
return
!
1
}();
i
.
getTime
=
Date
.
now
||
function
(){
return
(
new
Date
).
getTime
()},
i
.
extend
=
function
(
t
,
i
){
for
(
var
e
in
i
)
t
[
e
]
=
i
[
e
]},
i
.
addEvent
=
function
(
t
,
i
,
e
,
s
){
t
.
addEventListener
(
i
,
e
,
!!
s
)},
i
.
removeEvent
=
function
(
t
,
i
,
e
,
s
){
t
.
removeEventListener
(
i
,
e
,
!!
s
)},
i
.
prefixPointerEvent
=
function
(
t
){
return
o
.
MSPointerEvent
?
"MSPointer"
+
t
.
charAt
(
7
).
toUpperCase
()
+
t
.
substr
(
8
):
t
},
i
.
momentum
=
function
(
t
,
i
,
e
,
s
,
o
,
n
){
var
a
,
h
,
l
=
t
-
i
,
c
=
r
.
abs
(
l
)
/
e
;
return
n
=
void
0
===
n
?
6
e
-
4
:
n
,
a
=
t
+
c
*
c
/
(
2
*
n
)
*
(
0
>
l
?
-
1
:
1
),
h
=
c
/
n
,
s
>
a
?(
a
=
o
?
s
-
o
/
2.5
*
(
c
/
8
):
s
,
l
=
r
.
abs
(
a
-
t
),
h
=
l
/
c
):
a
>
0
&&
(
a
=
o
?
o
/
2.5
*
(
c
/
8
):
0
,
l
=
r
.
abs
(
t
)
+
a
,
h
=
l
/
c
),{
destination
:
r
.
round
(
a
),
duration
:
h
}};
var
a
=
t
(
"transform"
);
return
i
.
extend
(
i
,{
hasTransform
:
a
!==!
1
,
hasPerspective
:
t
(
"perspective"
)
in
e
,
hasTouch
:
"ontouchstart"
in
o
,
hasPointer
:
!
(
!
o
.
PointerEvent
&&!
o
.
MSPointerEvent
),
hasTransition
:
t
(
"transition"
)
in
e
}),
i
.
isBadAndroid
=
function
(){
var
t
=
o
.
navigator
.
appVersion
;
if
(
/Android/
.
test
(
t
)
&&!
/Chrome
\/\d
/
.
test
(
t
)){
var
i
=
t
.
match
(
/Safari
\/(\d
+.
\d)
/
);
return
i
&&
"object"
==
typeof
i
&&
i
.
length
>=
2
?
parseFloat
(
i
[
1
])
<
535.19
:
!
0
}
return
!
1
}(),
i
.
extend
(
i
.
style
=
{},{
transform
:
a
,
transitionTimingFunction
:
t
(
"transitionTimingFunction"
),
transitionDuration
:
t
(
"transitionDuration"
),
transitionDelay
:
t
(
"transitionDelay"
),
transformOrigin
:
t
(
"transformOrigin"
)}),
i
.
hasClass
=
function
(
t
,
i
){
var
e
=
new
RegExp
(
"(^|\\s)"
+
i
+
"(\\s|$)"
);
return
e
.
test
(
t
.
className
)},
i
.
addClass
=
function
(
t
,
e
){
if
(
!
i
.
hasClass
(
t
,
e
)){
var
s
=
t
.
className
.
split
(
" "
);
s
.
push
(
e
),
t
.
className
=
s
.
join
(
" "
)}},
i
.
removeClass
=
function
(
t
,
e
){
if
(
i
.
hasClass
(
t
,
e
)){
var
s
=
new
RegExp
(
"(^|\\s)"
+
e
+
"(\\s|$)"
,
"g"
);
t
.
className
=
t
.
className
.
replace
(
s
,
" "
)}},
i
.
offset
=
function
(
t
){
for
(
var
i
=-
t
.
offsetLeft
,
e
=-
t
.
offsetTop
;
t
=
t
.
offsetParent
;)
i
-=
t
.
offsetLeft
,
e
-=
t
.
offsetTop
;
return
{
left
:
i
,
top
:
e
}},
i
.
preventDefaultException
=
function
(
t
,
i
){
for
(
var
e
in
i
)
if
(
i
[
e
].
test
(
t
[
e
]))
return
!
0
;
return
!
1
},
i
.
extend
(
i
.
eventType
=
{},{
touchstart
:
1
,
touchmove
:
1
,
touchend
:
1
,
mousedown
:
2
,
mousemove
:
2
,
mouseup
:
2
,
pointerdown
:
3
,
pointermove
:
3
,
pointerup
:
3
,
MSPointerDown
:
3
,
MSPointerMove
:
3
,
MSPointerUp
:
3
}),
i
.
extend
(
i
.
ease
=
{},{
quadratic
:{
style
:
"cubic-bezier(0.25, 0.46, 0.45, 0.94)"
,
fn
:
function
(
t
){
return
t
*
(
2
-
t
)}},
circular
:{
style
:
"cubic-bezier(0.1, 0.57, 0.1, 1)"
,
fn
:
function
(
t
){
return
r
.
sqrt
(
1
-
--
t
*
t
)}},
back
:{
style
:
"cubic-bezier(0.175, 0.885, 0.32, 1.275)"
,
fn
:
function
(
t
){
var
i
=
4
;
return
(
t
-=
1
)
*
t
*
((
i
+
1
)
*
t
+
i
)
+
1
}},
bounce
:{
style
:
""
,
fn
:
function
(
t
){
return
(
t
/=
1
)
<
1
/
2.75
?
7.5625
*
t
*
t
:
2
/
2.75
>
t
?
7.5625
*
(
t
-=
1.5
/
2.75
)
*
t
+
.
75
:
2.5
/
2.75
>
t
?
7.5625
*
(
t
-=
2.25
/
2.75
)
*
t
+
.
9375
:
7.5625
*
(
t
-=
2.625
/
2.75
)
*
t
+
.
984375
}},
elastic
:{
style
:
""
,
fn
:
function
(
t
){
var
i
=
.
22
,
e
=
.
4
;
return
0
===
t
?
0
:
1
==
t
?
1
:
e
*
r
.
pow
(
2
,
-
10
*
t
)
*
r
.
sin
((
t
-
i
/
4
)
*
(
2
*
r
.
PI
)
/
i
)
+
1
}}}),
i
.
tap
=
function
(
t
,
i
){
var
e
=
n
.
createEvent
(
"Event"
);
e
.
initEvent
(
i
,
!
0
,
!
0
),
e
.
pageX
=
t
.
pageX
,
e
.
pageY
=
t
.
pageY
,
t
.
target
.
dispatchEvent
(
e
)},
i
.
click
=
function
(
t
){
var
i
,
e
=
t
.
target
;
/
(
SELECT|INPUT|TEXTAREA
)
/i
.
test
(
e
.
tagName
)
||
(
i
=
n
.
createEvent
(
"MouseEvents"
),
i
.
initMouseEvent
(
"click"
,
!
0
,
!
0
,
t
.
view
,
1
,
e
.
screenX
,
e
.
screenY
,
e
.
clientX
,
e
.
clientY
,
t
.
ctrlKey
,
t
.
altKey
,
t
.
shiftKey
,
t
.
metaKey
,
0
,
null
),
i
.
_constructed
=!
0
,
e
.
dispatchEvent
(
i
))},
i
}();
a
.
prototype
=
{
version
:
"5.2.0"
,
_init
:
function
(){
this
.
_initEvents
(),(
this
.
options
.
scrollbars
||
this
.
options
.
indicators
)
&&
this
.
_initIndicators
(),
this
.
options
.
mouseWheel
&&
this
.
_initWheel
(),
this
.
options
.
snap
&&
this
.
_initSnap
(),
this
.
options
.
keyBindings
&&
this
.
_initKeys
()},
destroy
:
function
(){
this
.
_initEvents
(
!
0
),
clearTimeout
(
this
.
resizeTimeout
),
this
.
resizeTimeout
=
null
,
this
.
_execEvent
(
"destroy"
)},
_transitionEnd
:
function
(
t
){
t
.
target
==
this
.
scroller
&&
this
.
isInTransition
&&
(
this
.
_transitionTime
(),
this
.
resetPosition
(
this
.
options
.
bounceTime
)
||
(
this
.
isInTransition
=!
1
,
this
.
_execEvent
(
"scrollEnd"
)))},
_start
:
function
(
t
){
if
(
1
!=
p
.
eventType
[
t
.
type
]){
var
i
;
if
(
i
=
t
.
which
?
t
.
button
:
t
.
button
<
2
?
0
:
4
==
t
.
button
?
1
:
2
,
0
!==
i
)
return
}
if
(
this
.
enabled
&&
(
!
this
.
initiated
||
p
.
eventType
[
t
.
type
]
===
this
.
initiated
)){
!
this
.
options
.
preventDefault
||
p
.
isBadAndroid
||
p
.
preventDefaultException
(
t
.
target
,
this
.
options
.
preventDefaultException
)
||
t
.
preventDefault
();
var
e
,
s
=
t
.
touches
?
t
.
touches
[
0
]:
t
;
this
.
initiated
=
p
.
eventType
[
t
.
type
],
this
.
moved
=!
1
,
this
.
distX
=
0
,
this
.
distY
=
0
,
this
.
directionX
=
0
,
this
.
directionY
=
0
,
this
.
directionLocked
=
0
,
this
.
startTime
=
p
.
getTime
(),
this
.
options
.
useTransition
&&
this
.
isInTransition
?(
this
.
_transitionTime
(),
this
.
isInTransition
=!
1
,
e
=
this
.
getComputedPosition
(),
this
.
_translate
(
r
.
round
(
e
.
x
),
r
.
round
(
e
.
y
)),
this
.
_execEvent
(
"scrollEnd"
)):
!
this
.
options
.
useTransition
&&
this
.
isAnimating
&&
(
this
.
isAnimating
=!
1
,
this
.
_execEvent
(
"scrollEnd"
)),
this
.
startX
=
this
.
x
,
this
.
startY
=
this
.
y
,
this
.
absStartX
=
this
.
x
,
this
.
absStartY
=
this
.
y
,
this
.
pointX
=
s
.
pageX
,
this
.
pointY
=
s
.
pageY
,
this
.
_execEvent
(
"beforeScrollStart"
)}},
_move
:
function
(
t
){
if
(
this
.
enabled
&&
p
.
eventType
[
t
.
type
]
===
this
.
initiated
){
this
.
options
.
preventDefault
&&
t
.
preventDefault
();
var
i
,
e
,
s
,
o
,
n
=
t
.
touches
?
t
.
touches
[
0
]:
t
,
a
=
n
.
pageX
-
this
.
pointX
,
h
=
n
.
pageY
-
this
.
pointY
,
l
=
p
.
getTime
();
if
(
this
.
pointX
=
n
.
pageX
,
this
.
pointY
=
n
.
pageY
,
this
.
distX
+=
a
,
this
.
distY
+=
h
,
s
=
r
.
abs
(
this
.
distX
),
o
=
r
.
abs
(
this
.
distY
),
!
(
l
-
this
.
endTime
>
300
&&
10
>
s
&&
10
>
o
)){
if
(
this
.
directionLocked
||
this
.
options
.
freeScroll
||
(
s
>
o
+
this
.
options
.
directionLockThreshold
?
this
.
directionLocked
=
"h"
:
o
>=
s
+
this
.
options
.
directionLockThreshold
?
this
.
directionLocked
=
"v"
:
this
.
directionLocked
=
"n"
),
"h"
==
this
.
directionLocked
){
if
(
"vertical"
==
this
.
options
.
eventPassthrough
)
t
.
preventDefault
();
else
if
(
"horizontal"
==
this
.
options
.
eventPassthrough
)
return
void
(
this
.
initiated
=!
1
);
h
=
0
}
else
if
(
"v"
==
this
.
directionLocked
){
if
(
"horizontal"
==
this
.
options
.
eventPassthrough
)
t
.
preventDefault
();
else
if
(
"vertical"
==
this
.
options
.
eventPassthrough
)
return
void
(
this
.
initiated
=!
1
);
a
=
0
}
a
=
this
.
hasHorizontalScroll
?
a
:
0
,
h
=
this
.
hasVerticalScroll
?
h
:
0
,
i
=
this
.
x
+
a
,
e
=
this
.
y
+
h
,(
i
>
0
||
i
<
this
.
maxScrollX
)
&&
(
i
=
this
.
options
.
bounce
?
this
.
x
+
a
/
3
:
i
>
0
?
0
:
this
.
maxScrollX
),(
e
>
0
||
e
<
this
.
maxScrollY
)
&&
(
e
=
this
.
options
.
bounce
?
this
.
y
+
h
/
3
:
e
>
0
?
0
:
this
.
maxScrollY
),
this
.
directionX
=
a
>
0
?
-
1
:
0
>
a
?
1
:
0
,
this
.
directionY
=
h
>
0
?
-
1
:
0
>
h
?
1
:
0
,
this
.
moved
||
this
.
_execEvent
(
"scrollStart"
),
this
.
moved
=!
0
,
this
.
_translate
(
i
,
e
),
l
-
this
.
startTime
>
300
&&
(
this
.
startTime
=
l
,
this
.
startX
=
this
.
x
,
this
.
startY
=
this
.
y
,
1
==
this
.
options
.
probeType
&&
this
.
_execEvent
(
"scroll"
)),
this
.
options
.
probeType
>
1
&&
this
.
_execEvent
(
"scroll"
)}}},
_end
:
function
(
t
){
if
(
this
.
enabled
&&
p
.
eventType
[
t
.
type
]
===
this
.
initiated
){
this
.
options
.
preventDefault
&&!
p
.
preventDefaultException
(
t
.
target
,
this
.
options
.
preventDefaultException
)
&&
t
.
preventDefault
();
var
i
,
e
,
s
=
(
t
.
changedTouches
?
t
.
changedTouches
[
0
]:
t
,
p
.
getTime
()
-
this
.
startTime
),
o
=
r
.
round
(
this
.
x
),
n
=
r
.
round
(
this
.
y
),
a
=
r
.
abs
(
o
-
this
.
startX
),
h
=
r
.
abs
(
n
-
this
.
startY
),
l
=
0
,
c
=
""
;
if
(
this
.
isInTransition
=
0
,
this
.
initiated
=
0
,
this
.
endTime
=
p
.
getTime
(),
!
this
.
resetPosition
(
this
.
options
.
bounceTime
)){
if
(
this
.
scrollTo
(
o
,
n
),
!
this
.
moved
)
return
this
.
options
.
tap
&&
p
.
tap
(
t
,
this
.
options
.
tap
),
this
.
options
.
click
&&
p
.
click
(
t
),
void
this
.
_execEvent
(
"scrollCancel"
);
if
(
this
.
_events
.
flick
&&
200
>
s
&&
100
>
a
&&
100
>
h
)
return
void
this
.
_execEvent
(
"flick"
);
if
(
this
.
options
.
momentum
&&
300
>
s
&&
(
i
=
this
.
hasHorizontalScroll
?
p
.
momentum
(
this
.
x
,
this
.
startX
,
s
,
this
.
maxScrollX
,
this
.
options
.
bounce
?
this
.
wrapperWidth
:
0
,
this
.
options
.
deceleration
):{
destination
:
o
,
duration
:
0
},
e
=
this
.
hasVerticalScroll
?
p
.
momentum
(
this
.
y
,
this
.
startY
,
s
,
this
.
maxScrollY
,
this
.
options
.
bounce
?
this
.
wrapperHeight
:
0
,
this
.
options
.
deceleration
):{
destination
:
n
,
duration
:
0
},
o
=
i
.
destination
,
n
=
e
.
destination
,
l
=
r
.
max
(
i
.
duration
,
e
.
duration
),
this
.
isInTransition
=
1
),
this
.
options
.
snap
){
var
d
=
this
.
_nearestSnap
(
o
,
n
);
this
.
currentPage
=
d
,
l
=
this
.
options
.
snapSpeed
||
r
.
max
(
r
.
max
(
r
.
min
(
r
.
abs
(
o
-
d
.
x
),
1
e3
),
r
.
min
(
r
.
abs
(
n
-
d
.
y
),
1
e3
)),
300
),
o
=
d
.
x
,
n
=
d
.
y
,
this
.
directionX
=
0
,
this
.
directionY
=
0
,
c
=
this
.
options
.
bounceEasing
}
return
o
!=
this
.
x
||
n
!=
this
.
y
?((
o
>
0
||
o
<
this
.
maxScrollX
||
n
>
0
||
n
<
this
.
maxScrollY
)
&&
(
c
=
p
.
ease
.
quadratic
),
void
this
.
scrollTo
(
o
,
n
,
l
,
c
)):
void
this
.
_execEvent
(
"scrollEnd"
)}}},
_resize
:
function
(){
var
t
=
this
;
clearTimeout
(
this
.
resizeTimeout
),
this
.
resizeTimeout
=
setTimeout
(
function
(){
t
.
refresh
()},
this
.
options
.
resizePolling
)},
resetPosition
:
function
(
t
){
var
i
=
this
.
x
,
e
=
this
.
y
;
return
t
=
t
||
0
,
!
this
.
hasHorizontalScroll
||
this
.
x
>
0
?
i
=
0
:
this
.
x
<
this
.
maxScrollX
&&
(
i
=
this
.
maxScrollX
),
!
this
.
hasVerticalScroll
||
this
.
y
>
0
?
e
=
0
:
this
.
y
<
this
.
maxScrollY
&&
(
e
=
this
.
maxScrollY
),
i
==
this
.
x
&&
e
==
this
.
y
?
!
1
:(
this
.
scrollTo
(
i
,
e
,
t
,
this
.
options
.
bounceEasing
),
!
0
)},
disable
:
function
(){
this
.
enabled
=!
1
},
enable
:
function
(){
this
.
enabled
=!
0
},
refresh
:
function
(){
this
.
wrapper
.
offsetHeight
;
this
.
wrapperWidth
=
this
.
wrapper
.
clientWidth
,
this
.
wrapperHeight
=
this
.
wrapper
.
clientHeight
,
this
.
scrollerWidth
=
this
.
scroller
.
offsetWidth
,
this
.
scrollerHeight
=
this
.
scroller
.
offsetHeight
,
this
.
maxScrollX
=
this
.
wrapperWidth
-
this
.
scrollerWidth
,
this
.
maxScrollY
=
this
.
wrapperHeight
-
this
.
scrollerHeight
,
this
.
hasHorizontalScroll
=
this
.
options
.
scrollX
&&
this
.
maxScrollX
<
0
,
this
.
hasVerticalScroll
=
this
.
options
.
scrollY
&&
this
.
maxScrollY
<
0
,
this
.
hasHorizontalScroll
||
(
this
.
maxScrollX
=
0
,
this
.
scrollerWidth
=
this
.
wrapperWidth
),
this
.
hasVerticalScroll
||
(
this
.
maxScrollY
=
0
,
this
.
scrollerHeight
=
this
.
wrapperHeight
),
this
.
endTime
=
0
,
this
.
directionX
=
0
,
this
.
directionY
=
0
,
this
.
wrapperOffset
=
p
.
offset
(
this
.
wrapper
),
this
.
_execEvent
(
"refresh"
),
this
.
resetPosition
()},
on
:
function
(
t
,
i
){
this
.
_events
[
t
]
||
(
this
.
_events
[
t
]
=
[]),
this
.
_events
[
t
].
push
(
i
)},
off
:
function
(
t
,
i
){
if
(
this
.
_events
[
t
]){
var
e
=
this
.
_events
[
t
].
indexOf
(
i
);
e
>-
1
&&
this
.
_events
[
t
].
splice
(
e
,
1
)}},
_execEvent
:
function
(
t
){
if
(
this
.
_events
[
t
]){
var
i
=
0
,
e
=
this
.
_events
[
t
].
length
;
if
(
e
)
for
(;
e
>
i
;
i
++
)
this
.
_events
[
t
][
i
].
apply
(
this
,[].
slice
.
call
(
arguments
,
1
))}},
scrollBy
:
function
(
t
,
i
,
e
,
s
){
t
=
this
.
x
+
t
,
i
=
this
.
y
+
i
,
e
=
e
||
0
,
this
.
scrollTo
(
t
,
i
,
e
,
s
)},
scrollTo
:
function
(
t
,
i
,
e
,
s
){
s
=
s
||
p
.
ease
.
circular
,
this
.
isInTransition
=
this
.
options
.
useTransition
&&
e
>
0
;
var
o
=
this
.
options
.
useTransition
&&
s
.
style
;
!
e
||
o
?(
o
&&
(
this
.
_transitionTimingFunction
(
s
.
style
),
this
.
_transitionTime
(
e
)),
this
.
_translate
(
t
,
i
)):
this
.
_animate
(
t
,
i
,
e
,
s
.
fn
)},
scrollToElement
:
function
(
t
,
i
,
e
,
s
,
o
){
if
(
t
=
t
.
nodeType
?
t
:
this
.
scroller
.
querySelector
(
t
)){
var
n
=
p
.
offset
(
t
);
n
.
left
-=
this
.
wrapperOffset
.
left
,
n
.
top
-=
this
.
wrapperOffset
.
top
,
e
===!
0
&&
(
e
=
r
.
round
(
t
.
offsetWidth
/
2
-
this
.
wrapper
.
offsetWidth
/
2
)),
s
===!
0
&&
(
s
=
r
.
round
(
t
.
offsetHeight
/
2
-
this
.
wrapper
.
offsetHeight
/
2
)),
n
.
left
-=
e
||
0
,
n
.
top
-=
s
||
0
,
n
.
left
=
n
.
left
>
0
?
0
:
n
.
left
<
this
.
maxScrollX
?
this
.
maxScrollX
:
n
.
left
,
n
.
top
=
n
.
top
>
0
?
0
:
n
.
top
<
this
.
maxScrollY
?
this
.
maxScrollY
:
n
.
top
,
i
=
void
0
===
i
||
null
===
i
||
"auto"
===
i
?
r
.
max
(
r
.
abs
(
this
.
x
-
n
.
left
),
r
.
abs
(
this
.
y
-
n
.
top
)):
i
,
this
.
scrollTo
(
n
.
left
,
n
.
top
,
i
,
o
)}},
_transitionTime
:
function
(
t
){
t
=
t
||
0
;
var
i
=
p
.
style
.
transitionDuration
;
if
(
this
.
scrollerStyle
[
i
]
=
t
+
"ms"
,
!
t
&&
p
.
isBadAndroid
){
this
.
scrollerStyle
[
i
]
=
"0.0001ms"
;
var
e
=
this
;
c
(
function
(){
"0.0001ms"
===
e
.
scrollerStyle
[
i
]
&&
(
e
.
scrollerStyle
[
i
]
=
"0s"
)})}
if
(
this
.
indicators
)
for
(
var
s
=
this
.
indicators
.
length
;
s
--
;)
this
.
indicators
[
s
].
transitionTime
(
t
)},
_transitionTimingFunction
:
function
(
t
){
if
(
this
.
scrollerStyle
[
p
.
style
.
transitionTimingFunction
]
=
t
,
this
.
indicators
)
for
(
var
i
=
this
.
indicators
.
length
;
i
--
;)
this
.
indicators
[
i
].
transitionTimingFunction
(
t
)},
_translate
:
function
(
t
,
i
){
if
(
this
.
options
.
useTransform
?
this
.
scrollerStyle
[
p
.
style
.
transform
]
=
"translate("
+
t
+
"px,"
+
i
+
"px)"
+
this
.
translateZ
:(
t
=
r
.
round
(
t
),
i
=
r
.
round
(
i
),
this
.
scrollerStyle
.
left
=
t
+
"px"
,
this
.
scrollerStyle
.
top
=
i
+
"px"
),
this
.
x
=
t
,
this
.
y
=
i
,
this
.
indicators
)
for
(
var
e
=
this
.
indicators
.
length
;
e
--
;)
this
.
indicators
[
e
].
updatePosition
()},
_initEvents
:
function
(
t
){
var
i
=
t
?
p
.
removeEvent
:
p
.
addEvent
,
e
=
this
.
options
.
bindToWrapper
?
this
.
wrapper
:
o
;
i
(
o
,
"orientationchange"
,
this
),
i
(
o
,
"resize"
,
this
),
this
.
options
.
click
&&
i
(
this
.
wrapper
,
"click"
,
this
,
!
0
),
this
.
options
.
disableMouse
||
(
i
(
this
.
wrapper
,
"mousedown"
,
this
),
i
(
e
,
"mousemove"
,
this
),
i
(
e
,
"mousecancel"
,
this
),
i
(
e
,
"mouseup"
,
this
)),
p
.
hasPointer
&&!
this
.
options
.
disablePointer
&&
(
i
(
this
.
wrapper
,
p
.
prefixPointerEvent
(
"pointerdown"
),
this
),
i
(
e
,
p
.
prefixPointerEvent
(
"pointermove"
),
this
),
i
(
e
,
p
.
prefixPointerEvent
(
"pointercancel"
),
this
),
i
(
e
,
p
.
prefixPointerEvent
(
"pointerup"
),
this
)),
p
.
hasTouch
&&!
this
.
options
.
disableTouch
&&
(
i
(
this
.
wrapper
,
"touchstart"
,
this
),
i
(
e
,
"touchmove"
,
this
),
i
(
e
,
"touchcancel"
,
this
),
i
(
e
,
"touchend"
,
this
)),
i
(
this
.
scroller
,
"transitionend"
,
this
),
i
(
this
.
scroller
,
"webkitTransitionEnd"
,
this
),
i
(
this
.
scroller
,
"oTransitionEnd"
,
this
),
i
(
this
.
scroller
,
"MSTransitionEnd"
,
this
)},
getComputedPosition
:
function
(){
var
t
,
i
,
e
=
o
.
getComputedStyle
(
this
.
scroller
,
null
);
return
this
.
options
.
useTransform
?(
e
=
e
[
p
.
style
.
transform
].
split
(
")"
)[
0
].
split
(
", "
),
t
=+
(
e
[
12
]
||
e
[
4
]),
i
=+
(
e
[
13
]
||
e
[
5
])):(
t
=+
e
.
left
.
replace
(
/
[^
-
\d
.
]
/g
,
""
),
i
=+
e
.
top
.
replace
(
/
[^
-
\d
.
]
/g
,
""
)),{
x
:
t
,
y
:
i
}},
_initIndicators
:
function
(){
function
t
(
t
){
if
(
n
.
indicators
)
for
(
var
i
=
n
.
indicators
.
length
;
i
--
;)
t
.
call
(
n
.
indicators
[
i
])}
var
i
,
e
=
this
.
options
.
interactiveScrollbars
,
s
=
"string"
!=
typeof
this
.
options
.
scrollbars
,
o
=
[],
n
=
this
;
this
.
indicators
=
[],
this
.
options
.
scrollbars
&&
(
this
.
options
.
scrollY
&&
(
i
=
{
el
:
h
(
"v"
,
e
,
this
.
options
.
scrollbars
),
interactive
:
e
,
defaultScrollbars
:
!
0
,
customStyle
:
s
,
resize
:
this
.
options
.
resizeScrollbars
,
shrink
:
this
.
options
.
shrinkScrollbars
,
fade
:
this
.
options
.
fadeScrollbars
,
listenX
:
!
1
},
this
.
wrapper
.
appendChild
(
i
.
el
),
o
.
push
(
i
)),
this
.
options
.
scrollX
&&
(
i
=
{
el
:
h
(
"h"
,
e
,
this
.
options
.
scrollbars
),
interactive
:
e
,
defaultScrollbars
:
!
0
,
customStyle
:
s
,
resize
:
this
.
options
.
resizeScrollbars
,
shrink
:
this
.
options
.
shrinkScrollbars
,
fade
:
this
.
options
.
fadeScrollbars
,
listenY
:
!
1
},
this
.
wrapper
.
appendChild
(
i
.
el
),
o
.
push
(
i
))),
this
.
options
.
indicators
&&
(
o
=
o
.
concat
(
this
.
options
.
indicators
));
for
(
var
r
=
o
.
length
;
r
--
;)
this
.
indicators
.
push
(
new
l
(
this
,
o
[
r
]));
this
.
options
.
fadeScrollbars
&&
(
this
.
on
(
"scrollEnd"
,
function
(){
t
(
function
(){
this
.
fade
()})}),
this
.
on
(
"scrollCancel"
,
function
(){
t
(
function
(){
this
.
fade
()})}),
this
.
on
(
"scrollStart"
,
function
(){
t
(
function
(){
this
.
fade
(
1
)})}),
this
.
on
(
"beforeScrollStart"
,
function
(){
t
(
function
(){
this
.
fade
(
1
,
!
0
)})})),
this
.
on
(
"refresh"
,
function
(){
t
(
function
(){
this
.
refresh
()})}),
this
.
on
(
"destroy"
,
function
(){
t
(
function
(){
this
.
destroy
()}),
delete
this
.
indicators
})},
_initWheel
:
function
(){
p
.
addEvent
(
this
.
wrapper
,
"wheel"
,
this
),
p
.
addEvent
(
this
.
wrapper
,
"mousewheel"
,
this
),
p
.
addEvent
(
this
.
wrapper
,
"DOMMouseScroll"
,
this
),
this
.
on
(
"destroy"
,
function
(){
clearTimeout
(
this
.
wheelTimeout
),
this
.
wheelTimeout
=
null
,
p
.
removeEvent
(
this
.
wrapper
,
"wheel"
,
this
),
p
.
removeEvent
(
this
.
wrapper
,
"mousewheel"
,
this
),
p
.
removeEvent
(
this
.
wrapper
,
"DOMMouseScroll"
,
this
)})},
_wheel
:
function
(
t
){
if
(
this
.
enabled
){
t
.
preventDefault
();
var
i
,
e
,
s
,
o
,
n
=
this
;
if
(
void
0
===
this
.
wheelTimeout
&&
n
.
_execEvent
(
"scrollStart"
),
clearTimeout
(
this
.
wheelTimeout
),
this
.
wheelTimeout
=
setTimeout
(
function
(){
n
.
options
.
snap
||
n
.
_execEvent
(
"scrollEnd"
),
n
.
wheelTimeout
=
void
0
},
400
),
"deltaX"
in
t
)
1
===
t
.
deltaMode
?(
i
=-
t
.
deltaX
*
this
.
options
.
mouseWheelSpeed
,
e
=-
t
.
deltaY
*
this
.
options
.
mouseWheelSpeed
):(
i
=-
t
.
deltaX
,
e
=-
t
.
deltaY
);
else
if
(
"wheelDeltaX"
in
t
)
i
=
t
.
wheelDeltaX
/
120
*
this
.
options
.
mouseWheelSpeed
,
e
=
t
.
wheelDeltaY
/
120
*
this
.
options
.
mouseWheelSpeed
;
else
if
(
"wheelDelta"
in
t
)
i
=
e
=
t
.
wheelDelta
/
120
*
this
.
options
.
mouseWheelSpeed
;
else
{
if
(
!
(
"detail"
in
t
))
return
;
i
=
e
=-
t
.
detail
/
3
*
this
.
options
.
mouseWheelSpeed
}
if
(
i
*=
this
.
options
.
invertWheelDirection
,
e
*=
this
.
options
.
invertWheelDirection
,
this
.
hasVerticalScroll
||
(
i
=
e
,
e
=
0
),
this
.
options
.
snap
)
return
s
=
this
.
currentPage
.
pageX
,
o
=
this
.
currentPage
.
pageY
,
i
>
0
?
s
--
:
0
>
i
&&
s
++
,
e
>
0
?
o
--
:
0
>
e
&&
o
++
,
void
this
.
goToPage
(
s
,
o
);
s
=
this
.
x
+
r
.
round
(
this
.
hasHorizontalScroll
?
i
:
0
),
o
=
this
.
y
+
r
.
round
(
this
.
hasVerticalScroll
?
e
:
0
),
this
.
directionX
=
i
>
0
?
-
1
:
0
>
i
?
1
:
0
,
this
.
directionY
=
e
>
0
?
-
1
:
0
>
e
?
1
:
0
,
s
>
0
?
s
=
0
:
s
<
this
.
maxScrollX
&&
(
s
=
this
.
maxScrollX
),
o
>
0
?
o
=
0
:
o
<
this
.
maxScrollY
&&
(
o
=
this
.
maxScrollY
),
this
.
scrollTo
(
s
,
o
,
0
),
this
.
options
.
probeType
>
1
&&
this
.
_execEvent
(
"scroll"
)}},
_initSnap
:
function
(){
this
.
currentPage
=
{},
"string"
==
typeof
this
.
options
.
snap
&&
(
this
.
options
.
snap
=
this
.
scroller
.
querySelectorAll
(
this
.
options
.
snap
)),
this
.
on
(
"refresh"
,
function
(){
var
t
,
i
,
e
,
s
,
o
,
n
,
a
=
0
,
h
=
0
,
l
=
0
,
c
=
this
.
options
.
snapStepX
||
this
.
wrapperWidth
,
p
=
this
.
options
.
snapStepY
||
this
.
wrapperHeight
;
if
(
this
.
pages
=
[],
this
.
wrapperWidth
&&
this
.
wrapperHeight
&&
this
.
scrollerWidth
&&
this
.
scrollerHeight
){
if
(
this
.
options
.
snap
===!
0
)
for
(
e
=
r
.
round
(
c
/
2
),
s
=
r
.
round
(
p
/
2
);
l
>-
this
.
scrollerWidth
;){
for
(
this
.
pages
[
a
]
=
[],
t
=
0
,
o
=
0
;
o
>-
this
.
scrollerHeight
;)
this
.
pages
[
a
][
t
]
=
{
x
:
r
.
max
(
l
,
this
.
maxScrollX
),
y
:
r
.
max
(
o
,
this
.
maxScrollY
),
width
:
c
,
height
:
p
,
cx
:
l
-
e
,
cy
:
o
-
s
},
o
-=
p
,
t
++
;
l
-=
c
,
a
++
}
else
for
(
n
=
this
.
options
.
snap
,
t
=
n
.
length
,
i
=-
1
;
t
>
a
;
a
++
)(
0
===
a
||
n
[
a
].
offsetLeft
<=
n
[
a
-
1
].
offsetLeft
)
&&
(
h
=
0
,
i
++
),
this
.
pages
[
h
]
||
(
this
.
pages
[
h
]
=
[]),
l
=
r
.
max
(
-
n
[
a
].
offsetLeft
,
this
.
maxScrollX
),
o
=
r
.
max
(
-
n
[
a
].
offsetTop
,
this
.
maxScrollY
),
e
=
l
-
r
.
round
(
n
[
a
].
offsetWidth
/
2
),
s
=
o
-
r
.
round
(
n
[
a
].
offsetHeight
/
2
),
this
.
pages
[
h
][
i
]
=
{
x
:
l
,
y
:
o
,
width
:
n
[
a
].
offsetWidth
,
height
:
n
[
a
].
offsetHeight
,
cx
:
e
,
cy
:
s
},
l
>
this
.
maxScrollX
&&
h
++
;
this
.
goToPage
(
this
.
currentPage
.
pageX
||
0
,
this
.
currentPage
.
pageY
||
0
,
0
),
this
.
options
.
snapThreshold
%
1
===
0
?(
this
.
snapThresholdX
=
this
.
options
.
snapThreshold
,
this
.
snapThresholdY
=
this
.
options
.
snapThreshold
):(
this
.
snapThresholdX
=
r
.
round
(
this
.
pages
[
this
.
currentPage
.
pageX
][
this
.
currentPage
.
pageY
].
width
*
this
.
options
.
snapThreshold
),
this
.
snapThresholdY
=
r
.
round
(
this
.
pages
[
this
.
currentPage
.
pageX
][
this
.
currentPage
.
pageY
].
height
*
this
.
options
.
snapThreshold
))}}),
this
.
on
(
"flick"
,
function
(){
var
t
=
this
.
options
.
snapSpeed
||
r
.
max
(
r
.
max
(
r
.
min
(
r
.
abs
(
this
.
x
-
this
.
startX
),
1
e3
),
r
.
min
(
r
.
abs
(
this
.
y
-
this
.
startY
),
1
e3
)),
300
);
this
.
goToPage
(
this
.
currentPage
.
pageX
+
this
.
directionX
,
this
.
currentPage
.
pageY
+
this
.
directionY
,
t
)})},
_nearestSnap
:
function
(
t
,
i
){
if
(
!
this
.
pages
.
length
)
return
{
x
:
0
,
y
:
0
,
pageX
:
0
,
pageY
:
0
};
var
e
=
0
,
s
=
this
.
pages
.
length
,
o
=
0
;
if
(
r
.
abs
(
t
-
this
.
absStartX
)
<
this
.
snapThresholdX
&&
r
.
abs
(
i
-
this
.
absStartY
)
<
this
.
snapThresholdY
)
return
this
.
currentPage
;
for
(
t
>
0
?
t
=
0
:
t
<
this
.
maxScrollX
&&
(
t
=
this
.
maxScrollX
),
i
>
0
?
i
=
0
:
i
<
this
.
maxScrollY
&&
(
i
=
this
.
maxScrollY
);
s
>
e
;
e
++
)
if
(
t
>=
this
.
pages
[
e
][
0
].
cx
){
t
=
this
.
pages
[
e
][
0
].
x
;
break
}
for
(
s
=
this
.
pages
[
e
].
length
;
s
>
o
;
o
++
)
if
(
i
>=
this
.
pages
[
0
][
o
].
cy
){
i
=
this
.
pages
[
0
][
o
].
y
;
break
}
return
e
==
this
.
currentPage
.
pageX
&&
(
e
+=
this
.
directionX
,
0
>
e
?
e
=
0
:
e
>=
this
.
pages
.
length
&&
(
e
=
this
.
pages
.
length
-
1
),
t
=
this
.
pages
[
e
][
0
].
x
),
o
==
this
.
currentPage
.
pageY
&&
(
o
+=
this
.
directionY
,
0
>
o
?
o
=
0
:
o
>=
this
.
pages
[
0
].
length
&&
(
o
=
this
.
pages
[
0
].
length
-
1
),
i
=
this
.
pages
[
0
][
o
].
y
),{
x
:
t
,
y
:
i
,
pageX
:
e
,
pageY
:
o
}},
goToPage
:
function
(
t
,
i
,
e
,
s
){
s
=
s
||
this
.
options
.
bounceEasing
,
t
>=
this
.
pages
.
length
?
t
=
this
.
pages
.
length
-
1
:
0
>
t
&&
(
t
=
0
),
i
>=
this
.
pages
[
t
].
length
?
i
=
this
.
pages
[
t
].
length
-
1
:
0
>
i
&&
(
i
=
0
);
var
o
=
this
.
pages
[
t
][
i
].
x
,
n
=
this
.
pages
[
t
][
i
].
y
;
e
=
void
0
===
e
?
this
.
options
.
snapSpeed
||
r
.
max
(
r
.
max
(
r
.
min
(
r
.
abs
(
o
-
this
.
x
),
1
e3
),
r
.
min
(
r
.
abs
(
n
-
this
.
y
),
1
e3
)),
300
):
e
,
this
.
currentPage
=
{
x
:
o
,
y
:
n
,
pageX
:
t
,
pageY
:
i
},
this
.
scrollTo
(
o
,
n
,
e
,
s
)},
next
:
function
(
t
,
i
){
var
e
=
this
.
currentPage
.
pageX
,
s
=
this
.
currentPage
.
pageY
;
e
++
,
e
>=
this
.
pages
.
length
&&
this
.
hasVerticalScroll
&&
(
e
=
0
,
s
++
),
this
.
goToPage
(
e
,
s
,
t
,
i
)},
prev
:
function
(
t
,
i
){
var
e
=
this
.
currentPage
.
pageX
,
s
=
this
.
currentPage
.
pageY
;
e
--
,
0
>
e
&&
this
.
hasVerticalScroll
&&
(
e
=
0
,
s
--
),
this
.
goToPage
(
e
,
s
,
t
,
i
)},
_initKeys
:
function
(
t
){
var
i
,
e
=
{
pageUp
:
33
,
pageDown
:
34
,
end
:
35
,
home
:
36
,
left
:
37
,
up
:
38
,
right
:
39
,
down
:
40
};
if
(
"object"
==
typeof
this
.
options
.
keyBindings
)
for
(
i
in
this
.
options
.
keyBindings
)
"string"
==
typeof
this
.
options
.
keyBindings
[
i
]
&&
(
this
.
options
.
keyBindings
[
i
]
=
this
.
options
.
keyBindings
[
i
].
toUpperCase
().
charCodeAt
(
0
));
else
this
.
options
.
keyBindings
=
{};
for
(
i
in
e
)
this
.
options
.
keyBindings
[
i
]
=
this
.
options
.
keyBindings
[
i
]
||
e
[
i
];
p
.
addEvent
(
o
,
"keydown"
,
this
),
this
.
on
(
"destroy"
,
function
(){
p
.
removeEvent
(
o
,
"keydown"
,
this
)})},
_key
:
function
(
t
){
if
(
this
.
enabled
){
var
i
,
e
=
this
.
options
.
snap
,
s
=
e
?
this
.
currentPage
.
pageX
:
this
.
x
,
o
=
e
?
this
.
currentPage
.
pageY
:
this
.
y
,
n
=
p
.
getTime
(),
a
=
this
.
keyTime
||
0
,
h
=
.
25
;
switch
(
this
.
options
.
useTransition
&&
this
.
isInTransition
&&
(
i
=
this
.
getComputedPosition
(),
this
.
_translate
(
r
.
round
(
i
.
x
),
r
.
round
(
i
.
y
)),
this
.
isInTransition
=!
1
),
this
.
keyAcceleration
=
200
>
n
-
a
?
r
.
min
(
this
.
keyAcceleration
+
h
,
50
):
0
,
t
.
keyCode
){
case
this
.
options
.
keyBindings
.
pageUp
:
this
.
hasHorizontalScroll
&&!
this
.
hasVerticalScroll
?
s
+=
e
?
1
:
this
.
wrapperWidth
:
o
+=
e
?
1
:
this
.
wrapperHeight
;
break
;
case
this
.
options
.
keyBindings
.
pageDown
:
this
.
hasHorizontalScroll
&&!
this
.
hasVerticalScroll
?
s
-=
e
?
1
:
this
.
wrapperWidth
:
o
-=
e
?
1
:
this
.
wrapperHeight
;
break
;
case
this
.
options
.
keyBindings
.
end
:
s
=
e
?
this
.
pages
.
length
-
1
:
this
.
maxScrollX
,
o
=
e
?
this
.
pages
[
0
].
length
-
1
:
this
.
maxScrollY
;
break
;
case
this
.
options
.
keyBindings
.
home
:
s
=
0
,
o
=
0
;
break
;
case
this
.
options
.
keyBindings
.
left
:
s
+=
e
?
-
1
:
5
+
this
.
keyAcceleration
>>
0
;
break
;
case
this
.
options
.
keyBindings
.
up
:
o
+=
e
?
1
:
5
+
this
.
keyAcceleration
>>
0
;
break
;
case
this
.
options
.
keyBindings
.
right
:
s
-=
e
?
-
1
:
5
+
this
.
keyAcceleration
>>
0
;
break
;
case
this
.
options
.
keyBindings
.
down
:
o
-=
e
?
1
:
5
+
this
.
keyAcceleration
>>
0
;
break
;
default
:
return
}
if
(
e
)
return
void
this
.
goToPage
(
s
,
o
);
s
>
0
?(
s
=
0
,
this
.
keyAcceleration
=
0
):
s
<
this
.
maxScrollX
&&
(
s
=
this
.
maxScrollX
,
this
.
keyAcceleration
=
0
),
o
>
0
?(
o
=
0
,
this
.
keyAcceleration
=
0
):
o
<
this
.
maxScrollY
&&
(
o
=
this
.
maxScrollY
,
this
.
keyAcceleration
=
0
),
this
.
scrollTo
(
s
,
o
,
0
),
this
.
keyTime
=
n
}},
_animate
:
function
(
t
,
i
,
e
,
s
){
function
o
(){
var
d
,
u
,
f
,
m
=
p
.
getTime
();
return
m
>=
l
?(
n
.
isAnimating
=!
1
,
n
.
_translate
(
t
,
i
),
void
(
n
.
resetPosition
(
n
.
options
.
bounceTime
)
||
n
.
_execEvent
(
"scrollEnd"
))):(
m
=
(
m
-
h
)
/
e
,
f
=
s
(
m
),
d
=
(
t
-
r
)
*
f
+
r
,
u
=
(
i
-
a
)
*
f
+
a
,
n
.
_translate
(
d
,
u
),
n
.
isAnimating
&&
c
(
o
),
void
(
3
==
n
.
options
.
probeType
&&
n
.
_execEvent
(
"scroll"
)))}
var
n
=
this
,
r
=
this
.
x
,
a
=
this
.
y
,
h
=
p
.
getTime
(),
l
=
h
+
e
;
this
.
isAnimating
=!
0
,
o
()},
handleEvent
:
function
(
t
){
switch
(
t
.
type
){
case
"touchstart"
:
case
"pointerdown"
:
case
"MSPointerDown"
:
case
"mousedown"
:
this
.
_start
(
t
);
break
;
case
"touchmove"
:
case
"pointermove"
:
case
"MSPointerMove"
:
case
"mousemove"
:
this
.
_move
(
t
);
break
;
case
"touchend"
:
case
"pointerup"
:
case
"MSPointerUp"
:
case
"mouseup"
:
case
"touchcancel"
:
case
"pointercancel"
:
case
"MSPointerCancel"
:
case
"mousecancel"
:
this
.
_end
(
t
);
break
;
case
"orientationchange"
:
case
"resize"
:
this
.
_resize
();
break
;
case
"transitionend"
:
case
"webkitTransitionEnd"
:
case
"oTransitionEnd"
:
case
"MSTransitionEnd"
:
this
.
_transitionEnd
(
t
);
break
;
case
"wheel"
:
case
"DOMMouseScroll"
:
case
"mousewheel"
:
this
.
_wheel
(
t
);
break
;
case
"keydown"
:
this
.
_key
(
t
);
break
;
case
"click"
:
this
.
enabled
&&!
t
.
_constructed
&&
(
t
.
preventDefault
(),
t
.
stopPropagation
())}}},
l
.
prototype
=
{
handleEvent
:
function
(
t
){
switch
(
t
.
type
){
case
"touchstart"
:
case
"pointerdown"
:
case
"MSPointerDown"
:
case
"mousedown"
:
this
.
_start
(
t
);
break
;
case
"touchmove"
:
case
"pointermove"
:
case
"MSPointerMove"
:
case
"mousemove"
:
this
.
_move
(
t
);
break
;
case
"touchend"
:
case
"pointerup"
:
case
"MSPointerUp"
:
case
"mouseup"
:
case
"touchcancel"
:
case
"pointercancel"
:
case
"MSPointerCancel"
:
case
"mousecancel"
:
this
.
_end
(
t
)}},
destroy
:
function
(){
this
.
options
.
fadeScrollbars
&&
(
clearTimeout
(
this
.
fadeTimeout
),
this
.
fadeTimeout
=
null
),
this
.
options
.
interactive
&&
(
p
.
removeEvent
(
this
.
indicator
,
"touchstart"
,
this
),
p
.
removeEvent
(
this
.
indicator
,
p
.
prefixPointerEvent
(
"pointerdown"
),
this
),
p
.
removeEvent
(
this
.
indicator
,
"mousedown"
,
this
),
p
.
removeEvent
(
o
,
"touchmove"
,
this
),
p
.
removeEvent
(
o
,
p
.
prefixPointerEvent
(
"pointermove"
),
this
),
p
.
removeEvent
(
o
,
"mousemove"
,
this
),
p
.
removeEvent
(
o
,
"touchend"
,
this
),
p
.
removeEvent
(
o
,
p
.
prefixPointerEvent
(
"pointerup"
),
this
),
p
.
removeEvent
(
o
,
"mouseup"
,
this
)),
this
.
options
.
defaultScrollbars
&&
this
.
wrapper
.
parentNode
.
removeChild
(
this
.
wrapper
)},
_start
:
function
(
t
){
var
i
=
t
.
touches
?
t
.
touches
[
0
]:
t
;
t
.
preventDefault
(),
t
.
stopPropagation
(),
this
.
transitionTime
(),
this
.
initiated
=!
0
,
this
.
moved
=!
1
,
this
.
lastPointX
=
i
.
pageX
,
this
.
lastPointY
=
i
.
pageY
,
this
.
startTime
=
p
.
getTime
(),
this
.
options
.
disableTouch
||
p
.
addEvent
(
o
,
"touchmove"
,
this
),
this
.
options
.
disablePointer
||
p
.
addEvent
(
o
,
p
.
prefixPointerEvent
(
"pointermove"
),
this
),
this
.
options
.
disableMouse
||
p
.
addEvent
(
o
,
"mousemove"
,
this
),
this
.
scroller
.
_execEvent
(
"beforeScrollStart"
)},
_move
:
function
(
t
){
var
i
,
e
,
s
,
o
,
n
=
t
.
touches
?
t
.
touches
[
0
]:
t
,
r
=
p
.
getTime
();
this
.
moved
||
this
.
scroller
.
_execEvent
(
"scrollStart"
),
this
.
moved
=!
0
,
i
=
n
.
pageX
-
this
.
lastPointX
,
this
.
lastPointX
=
n
.
pageX
,
e
=
n
.
pageY
-
this
.
lastPointY
,
this
.
lastPointY
=
n
.
pageY
,
s
=
this
.
x
+
i
,
o
=
this
.
y
+
e
,
this
.
_pos
(
s
,
o
),
1
==
this
.
scroller
.
options
.
probeType
&&
r
-
this
.
startTime
>
300
?(
this
.
startTime
=
r
,
this
.
scroller
.
_execEvent
(
"scroll"
)):
this
.
scroller
.
options
.
probeType
>
1
&&
this
.
scroller
.
_execEvent
(
"scroll"
),
t
.
preventDefault
(),
t
.
stopPropagation
()},
_end
:
function
(
t
){
if
(
this
.
initiated
){
if
(
this
.
initiated
=!
1
,
t
.
preventDefault
(),
t
.
stopPropagation
(),
p
.
removeEvent
(
o
,
"touchmove"
,
this
),
p
.
removeEvent
(
o
,
p
.
prefixPointerEvent
(
"pointermove"
),
this
),
p
.
removeEvent
(
o
,
"mousemove"
,
this
),
this
.
scroller
.
options
.
snap
){
var
i
=
this
.
scroller
.
_nearestSnap
(
this
.
scroller
.
x
,
this
.
scroller
.
y
),
e
=
this
.
options
.
snapSpeed
||
r
.
max
(
r
.
max
(
r
.
min
(
r
.
abs
(
this
.
scroller
.
x
-
i
.
x
),
1
e3
),
r
.
min
(
r
.
abs
(
this
.
scroller
.
y
-
i
.
y
),
1
e3
)),
300
);
this
.
scroller
.
x
==
i
.
x
&&
this
.
scroller
.
y
==
i
.
y
||
(
this
.
scroller
.
directionX
=
0
,
this
.
scroller
.
directionY
=
0
,
this
.
scroller
.
currentPage
=
i
,
this
.
scroller
.
scrollTo
(
i
.
x
,
i
.
y
,
e
,
this
.
scroller
.
options
.
bounceEasing
))}
this
.
moved
&&
this
.
scroller
.
_execEvent
(
"scrollEnd"
)}},
transitionTime
:
function
(
t
){
t
=
t
||
0
;
var
i
=
p
.
style
.
transitionDuration
;
if
(
this
.
indicatorStyle
[
i
]
=
t
+
"ms"
,
!
t
&&
p
.
isBadAndroid
){
this
.
indicatorStyle
[
i
]
=
"0.0001ms"
;
var
e
=
this
;
c
(
function
(){
"0.0001ms"
===
e
.
indicatorStyle
[
i
]
&&
(
e
.
indicatorStyle
[
i
]
=
"0s"
)})}},
transitionTimingFunction
:
function
(
t
){
this
.
indicatorStyle
[
p
.
style
.
transitionTimingFunction
]
=
t
},
refresh
:
function
(){
this
.
transitionTime
(),
this
.
options
.
listenX
&&!
this
.
options
.
listenY
?
this
.
indicatorStyle
.
display
=
this
.
scroller
.
hasHorizontalScroll
?
"block"
:
"none"
:
this
.
options
.
listenY
&&!
this
.
options
.
listenX
?
this
.
indicatorStyle
.
display
=
this
.
scroller
.
hasVerticalScroll
?
"block"
:
"none"
:
this
.
indicatorStyle
.
display
=
this
.
scroller
.
hasHorizontalScroll
||
this
.
scroller
.
hasVerticalScroll
?
"block"
:
"none"
,
this
.
scroller
.
hasHorizontalScroll
&&
this
.
scroller
.
hasVerticalScroll
?(
p
.
addClass
(
this
.
wrapper
,
"iScrollBothScrollbars"
),
p
.
removeClass
(
this
.
wrapper
,
"iScrollLoneScrollbar"
),
this
.
options
.
defaultScrollbars
&&
this
.
options
.
customStyle
&&
(
this
.
options
.
listenX
?
this
.
wrapper
.
style
.
right
=
"8px"
:
this
.
wrapper
.
style
.
bottom
=
"8px"
)):(
p
.
removeClass
(
this
.
wrapper
,
"iScrollBothScrollbars"
),
p
.
addClass
(
this
.
wrapper
,
"iScrollLoneScrollbar"
),
this
.
options
.
defaultScrollbars
&&
this
.
options
.
customStyle
&&
(
this
.
options
.
listenX
?
this
.
wrapper
.
style
.
right
=
"2px"
:
this
.
wrapper
.
style
.
bottom
=
"2px"
));
this
.
wrapper
.
offsetHeight
;
this
.
options
.
listenX
&&
(
this
.
wrapperWidth
=
this
.
wrapper
.
clientWidth
,
this
.
options
.
resize
?(
this
.
indicatorWidth
=
r
.
max
(
r
.
round
(
this
.
wrapperWidth
*
this
.
wrapperWidth
/
(
this
.
scroller
.
scrollerWidth
||
this
.
wrapperWidth
||
1
)),
8
),
this
.
indicatorStyle
.
width
=
this
.
indicatorWidth
+
"px"
):
this
.
indicatorWidth
=
this
.
indicator
.
clientWidth
,
this
.
maxPosX
=
this
.
wrapperWidth
-
this
.
indicatorWidth
,
"clip"
==
this
.
options
.
shrink
?(
this
.
minBoundaryX
=-
this
.
indicatorWidth
+
8
,
this
.
maxBoundaryX
=
this
.
wrapperWidth
-
8
):(
this
.
minBoundaryX
=
0
,
this
.
maxBoundaryX
=
this
.
maxPosX
),
this
.
sizeRatioX
=
this
.
options
.
speedRatioX
||
this
.
scroller
.
maxScrollX
&&
this
.
maxPosX
/
this
.
scroller
.
maxScrollX
),
this
.
options
.
listenY
&&
(
this
.
wrapperHeight
=
this
.
wrapper
.
clientHeight
,
this
.
options
.
resize
?(
this
.
indicatorHeight
=
r
.
max
(
r
.
round
(
this
.
wrapperHeight
*
this
.
wrapperHeight
/
(
this
.
scroller
.
scrollerHeight
||
this
.
wrapperHeight
||
1
)),
8
),
this
.
indicatorStyle
.
height
=
this
.
indicatorHeight
+
"px"
):
this
.
indicatorHeight
=
this
.
indicator
.
clientHeight
,
this
.
maxPosY
=
this
.
wrapperHeight
-
this
.
indicatorHeight
,
"clip"
==
this
.
options
.
shrink
?(
this
.
minBoundaryY
=-
this
.
indicatorHeight
+
8
,
this
.
maxBoundaryY
=
this
.
wrapperHeight
-
8
):(
this
.
minBoundaryY
=
0
,
this
.
maxBoundaryY
=
this
.
maxPosY
),
this
.
maxPosY
=
this
.
wrapperHeight
-
this
.
indicatorHeight
,
this
.
sizeRatioY
=
this
.
options
.
speedRatioY
||
this
.
scroller
.
maxScrollY
&&
this
.
maxPosY
/
this
.
scroller
.
maxScrollY
),
this
.
updatePosition
()},
updatePosition
:
function
(){
var
t
=
this
.
options
.
listenX
&&
r
.
round
(
this
.
sizeRatioX
*
this
.
scroller
.
x
)
||
0
,
i
=
this
.
options
.
listenY
&&
r
.
round
(
this
.
sizeRatioY
*
this
.
scroller
.
y
)
||
0
;
this
.
options
.
ignoreBoundaries
||
(
t
<
this
.
minBoundaryX
?(
"scale"
==
this
.
options
.
shrink
&&
(
this
.
width
=
r
.
max
(
this
.
indicatorWidth
+
t
,
8
),
this
.
indicatorStyle
.
width
=
this
.
width
+
"px"
),
t
=
this
.
minBoundaryX
):
t
>
this
.
maxBoundaryX
?
"scale"
==
this
.
options
.
shrink
?(
this
.
width
=
r
.
max
(
this
.
indicatorWidth
-
(
t
-
this
.
maxPosX
),
8
),
this
.
indicatorStyle
.
width
=
this
.
width
+
"px"
,
t
=
this
.
maxPosX
+
this
.
indicatorWidth
-
this
.
width
):
t
=
this
.
maxBoundaryX
:
"scale"
==
this
.
options
.
shrink
&&
this
.
width
!=
this
.
indicatorWidth
&&
(
this
.
width
=
this
.
indicatorWidth
,
this
.
indicatorStyle
.
width
=
this
.
width
+
"px"
),
i
<
this
.
minBoundaryY
?(
"scale"
==
this
.
options
.
shrink
&&
(
this
.
height
=
r
.
max
(
this
.
indicatorHeight
+
3
*
i
,
8
),
this
.
indicatorStyle
.
height
=
this
.
height
+
"px"
),
i
=
this
.
minBoundaryY
):
i
>
this
.
maxBoundaryY
?
"scale"
==
this
.
options
.
shrink
?(
this
.
height
=
r
.
max
(
this
.
indicatorHeight
-
3
*
(
i
-
this
.
maxPosY
),
8
),
this
.
indicatorStyle
.
height
=
this
.
height
+
"px"
,
i
=
this
.
maxPosY
+
this
.
indicatorHeight
-
this
.
height
):
i
=
this
.
maxBoundaryY
:
"scale"
==
this
.
options
.
shrink
&&
this
.
height
!=
this
.
indicatorHeight
&&
(
this
.
height
=
this
.
indicatorHeight
,
this
.
indicatorStyle
.
height
=
this
.
height
+
"px"
)),
this
.
x
=
t
,
this
.
y
=
i
,
this
.
scroller
.
options
.
useTransform
?
this
.
indicatorStyle
[
p
.
style
.
transform
]
=
"translate("
+
t
+
"px,"
+
i
+
"px)"
+
this
.
scroller
.
translateZ
:(
this
.
indicatorStyle
.
left
=
t
+
"px"
,
this
.
indicatorStyle
.
top
=
i
+
"px"
)},
_pos
:
function
(
t
,
i
){
0
>
t
?
t
=
0
:
t
>
this
.
maxPosX
&&
(
t
=
this
.
maxPosX
),
0
>
i
?
i
=
0
:
i
>
this
.
maxPosY
&&
(
i
=
this
.
maxPosY
),
t
=
this
.
options
.
listenX
?
r
.
round
(
t
/
this
.
sizeRatioX
):
this
.
scroller
.
x
,
i
=
this
.
options
.
listenY
?
r
.
round
(
i
/
this
.
sizeRatioY
):
this
.
scroller
.
y
,
this
.
scroller
.
scrollTo
(
t
,
i
)},
fade
:
function
(
t
,
i
){
if
(
!
i
||
this
.
visible
){
clearTimeout
(
this
.
fadeTimeout
),
this
.
fadeTimeout
=
null
;
var
e
=
t
?
250
:
500
,
s
=
t
?
0
:
300
;
t
=
t
?
"1"
:
"0"
,
this
.
wrapperStyle
[
p
.
style
.
transitionDuration
]
=
e
+
"ms"
,
this
.
fadeTimeout
=
setTimeout
(
function
(
t
){
this
.
wrapperStyle
.
opacity
=
t
,
this
.
visible
=+
t
}.
bind
(
this
,
t
),
s
)}}},
a
.
utils
=
p
,
"undefined"
!=
typeof
t
&&
t
.
exports
?
t
.
exports
=
a
:(
s
=
function
(){
return
a
}.
call
(
i
,
e
,
i
,
t
),
!
(
void
0
!==
s
&&
(
t
.
exports
=
s
)))}(
window
,
document
,
Math
)},
29
:
function
(
t
,
i
,
e
){
function
s
(
t
,
i
){
var
e
,
s
,
r
=
o
(
window
),
a
=!
1
;
e
=
o
(
t
),
e
.
length
&&
(
i
.
height
&&
e
.
height
(
i
.
height
),
this
.
iScroll
=
new
n
(
e
.
get
(
0
),{
click
:
!
0
,
probeType
:
3
}),
this
.
iScroll
.
on
(
"scrollStart"
,
function
(){
0
===
this
.
y
&&
(
a
=!
0
),
s
=
this
.
y
,
r
.
trigger
(
"scroll"
)}),
this
.
iScroll
.
on
(
"scrollEnd"
,
function
(){
a
&&-
1
===
this
.
directionY
&&
i
.
pullDown
&&
i
.
pullDown
(),
a
=!
1
,
s
===
this
.
y
&&
1
===
this
.
directionY
&&
i
.
pullUp
&&
i
.
pullUp
(),
r
.
trigger
(
"scroll"
)}))}
var
o
=
e
(
1
),
n
=
e
(
20
);
t
.
exports
=
s
}});
\ No newline at end of file
...
...
public/dist/m-yohobuy-node/0.1.0/index.css
View file @
645e027
This diff could not be displayed because it is too large.
public/js/guang/collocation.page.js
View file @
645e027
...
...
@@ -59,7 +59,7 @@ function massageAJAX(pageData) {
}
function
scrollHandler
()
{
if
(
!
stopLoading
&&
(
$
(
window
).
scrollTop
()
+
$
(
window
).
height
()
>
$
(
'body'
).
height
()
-
100
))
{
if
(
!
stopLoading
&&
(
$
(
window
).
scrollTop
()
+
$
(
window
).
height
()
>
$
(
'body'
).
height
()
*
0.75
))
{
stopLoading
=
true
;
page
++
;
massageAJAX
(
page
);
...
...
public/js/guang/star.page.js
View file @
645e027
...
...
@@ -14,10 +14,11 @@ var $ = require('yoho-jquery'),
var
$window
=
$
(
window
),
stopLoading
=
false
,
$
starMain
=
$
(
'.star-main
'
),
$
mainContent
=
$
(
'.main-content
'
),
$headTab
=
$
(
'.head-tab'
),
headTabH
=
$headTab
.
height
(),
scrollH
=
$
(
window
).
height
()
-
headTabH
;
scrollH
=
$
(
window
).
height
()
-
headTabH
,
$loadingTip
=
$
(
'.loading-tip'
);
/*
$swiperView = $('.swiper-view'),
...
...
@@ -29,7 +30,8 @@ var $window = $(window),
var mySwiper;
*/
var
avatarKey
,
bannerLen
,
res
,
avatarSwiper
,
avatarSwiperClone
,
getIndexHtml
,
$avatarClone
,
$starArticle
;
var
avatarKey
,
bannerLen
,
res
,
avatarSwiper
,
avatarSwiperClone
,
getIndexHtml
,
$avatarClone
,
$starArticle
,
$avatarWrap
,
starIScroll
;
var
swiperNum
=
(
$
(
'.swiper-num2'
).
width
()
-
$
(
'.swiper-num1'
).
width
())
+
(
$
(
'.swiper-num3'
).
width
()
-
$
(
'.swiper-num1'
).
width
())
/
2
;
...
...
@@ -91,66 +93,6 @@ function bindAvatar(dom) {
}
function
setIndexAction
()
{
var
starIScroll
;
var
$loadingTip
=
$
(
'.loading-tip'
),
$avatarWrap
=
$
(
'.avatar-wrap:not(.avatar-clone)'
);
// 下拉刷新,上拉加载
starIScroll
=
new
PullRefresh
(
'.star-wrap'
,
{
height
:
scrollH
,
pullDown
:
function
()
{
if
(
!
stopLoading
)
{
stopLoading
=
true
;
getIndexHtml
();
}
}
});
starIScroll
.
iScroll
.
on
(
'scrollStart'
,
function
()
{
// 下拉
if
(
this
.
directionY
===
-
1
)
{
$loadingTip
.
slideDown
();
}
});
starIScroll
.
iScroll
.
on
(
'scroll'
,
function
()
{
if
(
$avatarWrap
.
offset
().
top
<=
headTabH
)
{
$avatarClone
.
show
();
if
(
!
avatarSwiperClone
)
{
avatarSwiperClone
=
new
Swiper
(
'.avatar-0'
,
{
loop
:
true
,
initialSlide
:
$
(
'.avatar-1'
).
find
(
'.swiper-slide-active'
).
index
()
%
bannerLen
,
centeredSlides
:
true
,
slidesPerView
:
'auto'
,
loopedSlides
:
bannerLen
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
swiperNum
,
watchSlidesProgress
:
true
,
watchSlidesVisibility
:
true
,
onInit
:
function
()
{
$
(
'.avatar-0 li'
).
on
(
'click'
,
function
()
{
res
=
bindAvatar
(
$
(
this
));
return
res
;
});
}
});
avatarSwiperClone
.
params
.
control
=
avatarSwiper
;
avatarSwiper
.
params
.
control
=
avatarSwiperClone
;
}
}
if
(
$avatarWrap
.
offset
().
top
>
$
(
'.avatar-1'
)[
0
].
scrollHeight
)
{
$avatarClone
.
hide
();
}
});
starIScroll
.
iScroll
.
on
(
'scrollEnd'
,
function
()
{
$loadingTip
.
slideUp
();
});
$
(
'.avatar'
).
each
(
function
(
key
,
item
)
{
$
(
item
).
addClass
(
'avatar-'
+
key
);
});
...
...
@@ -229,13 +171,14 @@ function setIndexAction() {
function
initAction
()
{
$starArticle
=
$
(
'.star-article'
);
$avatarWrap
=
$
(
'.avatar-wrap'
);
bannerLen
=
$
(
'.avatar-wrap'
).
find
(
'.swiper-slide'
).
length
;
if
(
$avatarClone
)
{
$avatarClone
.
remove
();
}
$
starMain
.
before
(
$
(
'.avatar-swiper'
).
clone
().
addClass
(
'avatar-clone'
).
hide
());
$
loadingTip
.
before
(
$
(
'.avatar-swiper'
).
clone
().
addClass
(
'avatar-clone'
).
hide
());
$avatarClone
=
$
(
'.avatar-clone'
);
...
...
@@ -265,7 +208,7 @@ getIndexHtml = function() {
avatarSwiperClone
=
''
;
}
$
starMain
.
html
(
data
);
$
mainContent
.
html
(
data
);
initAction
();
}
...
...
@@ -280,6 +223,61 @@ getIndexHtml = function() {
initAction
();
// 下拉刷新,上拉加载
starIScroll
=
new
PullRefresh
(
'.star-main'
,
{
height
:
scrollH
,
pullDown
:
function
()
{
if
(
!
stopLoading
)
{
stopLoading
=
true
;
getIndexHtml
();
}
}
});
starIScroll
.
iScroll
.
on
(
'scrollStart'
,
function
()
{
// 下拉
if
(
this
.
directionY
===
-
1
)
{
$loadingTip
.
slideDown
();
}
});
starIScroll
.
iScroll
.
on
(
'scroll'
,
function
()
{
if
(
$avatarWrap
.
offset
().
top
<=
headTabH
)
{
$avatarClone
.
show
();
if
(
!
avatarSwiperClone
)
{
avatarSwiperClone
=
new
Swiper
(
'.avatar-0'
,
{
loop
:
true
,
initialSlide
:
$
(
'.avatar-1'
).
find
(
'.swiper-slide-active'
).
index
()
%
bannerLen
,
centeredSlides
:
true
,
slidesPerView
:
'auto'
,
loopedSlides
:
bannerLen
,
spaceBetween
:
10
,
slidesOffsetBefore
:
-
swiperNum
,
watchSlidesProgress
:
true
,
watchSlidesVisibility
:
true
,
onInit
:
function
()
{
$
(
'.avatar-0 li'
).
on
(
'click'
,
function
()
{
res
=
bindAvatar
(
$
(
this
));
return
res
;
});
}
});
avatarSwiperClone
.
params
.
control
=
avatarSwiper
;
avatarSwiper
.
params
.
control
=
avatarSwiperClone
;
}
}
if
(
$avatarWrap
.
offset
().
top
>
$
(
'.avatar-1'
)[
0
].
scrollHeight
)
{
$avatarClone
.
hide
();
}
});
starIScroll
.
iScroll
.
on
(
'scrollEnd'
,
function
()
{
$loadingTip
.
slideUp
();
});
window
.
setCookie
(
'guangStarUid'
,
window
.
queryString
.
uid
);
// 明星动态文章图片相关操作
...
...
public/scss/guang/star/_star.css
View file @
645e027
.star-page
{
background
:
#333
;
position
:
relative
;
a
{
text-decoration
:
none
;
...
...
@@ -121,7 +122,6 @@
}
.star-main
{
position
:
relative
;
margin-top
:
88px
;
}
...
...
Please
register
or
login
to post a comment