Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kus-admin
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Кубота
kus-admin
Commits
fda1c817
Commit
fda1c817
authored
Jan 30, 2020
by
talequale
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
94165e93
2b29c88b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
2 deletions
+38
-2
CardSlider.jsx
src/view/cmp/cardSlider/CardSlider.jsx
+38
-2
No files found.
src/view/cmp/cardSlider/CardSlider.jsx
View file @
fda1c817
...
...
@@ -37,9 +37,44 @@ const CardSlider = D.declare( 'view.cmp.CardSlider', (cfg) => {
tmpStore
.
sub
(
'width'
,
Store
.
debounce
(
function
(
w
)
{
//console.log(w)
let
firstItem
=
Math
.
round
(
dom
.
scrollLeft
/
(
cardWidth
+
padding
));
console
.
log
(
firstItem
);
update
();
dom
.
scrollLeft
=
firstItem
*
(
cardWidth
+
padding
);
},
30
));
let
waitTimeout
=
false
;
let
tuning
=
false
;
let
tuneScrollPosition
=
function
()
{
waitTimeout
=
false
;
tuning
=
true
;
let
fromLeft
=
dom
.
scrollLeft
;
let
firstItem
=
Math
.
round
(
fromLeft
/
(
cardWidth
+
padding
));
let
toLeft
=
Math
.
round
(
firstItem
*
(
cardWidth
+
padding
));
let
deltaMove
=
(
toLeft
-
fromLeft
)
/
Math
.
ceil
(
200
/
(
1000
/
60
));
let
tune
=
function
()
{
if
(
Math
.
abs
(
dom
.
scrollLeft
-
toLeft
)
<
Math
.
abs
(
deltaMove
)){
dom
.
scrollLeft
=
toLeft
;
tuning
=
false
;
}
else
{
dom
.
scrollLeft
+=
deltaMove
;
requestAnimationFrame
(
tune
);
}
};
if
(
Math
.
abs
(
deltaMove
)
>
0
){
requestAnimationFrame
(
tune
);
}
else
{
tuning
=
false
;
}
};
let
waitUntilDoNotTouchScroll
=
function
()
{
if
(
tuning
)
return
;
if
(
waitTimeout
)
clearTimeout
(
waitTimeout
);
waitTimeout
=
setTimeout
(
tuneScrollPosition
,
200
);
};
let
dom
=
<
div
class=
'cmp-CardSlider'
>
...
...
@@ -105,7 +140,8 @@ const CardSlider = D.declare( 'view.cmp.CardSlider', (cfg) => {
};
dom
.
addEventListener
(
'scroll'
,
Store
.
debounce
(
function
()
{
requestAnimationFrame
(
updateVisibleDom
)
requestAnimationFrame
(
updateVisibleDom
);
waitUntilDoNotTouchScroll
();
},
1000
/
60
));
cfg
.
items
(
function
(
i
)
{
items
=
i
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment