mirror of
https://github.com/zhigang1992/react.git
synced 2026-04-24 04:15:54 +08:00
feat(slider): show animation at click event
This commit is contained in:
@@ -51,7 +51,7 @@ const SliderDot = React.forwardRef<HTMLDivElement, React.PropsWithChildren<Slide
|
||||
}
|
||||
|
||||
.dot.click {
|
||||
transition: all 200ms ease 0;
|
||||
transition: all 200ms ease;
|
||||
}
|
||||
|
||||
.dot:hover {
|
||||
|
||||
@@ -90,13 +90,15 @@ const Slider: React.FC<React.PropsWithChildren<SliderProps>> = ({
|
||||
const offset = currentOffset + lastDargOffsetRef.current
|
||||
updateValue(offset)
|
||||
}
|
||||
const dragStartHandler = () => setSliderWidth(getRefWidth(sliderRef))
|
||||
const dragStartHandler = () => {
|
||||
setIsClick(false)
|
||||
setSliderWidth(getRefWidth(sliderRef))
|
||||
}
|
||||
const dragEndHandler = (event: DraggingEvent) => {
|
||||
if (disabled) return
|
||||
const offset = event.currentX - event.startX
|
||||
const currentOffset = offset + lastDargOffsetRef.current
|
||||
setLastDargOffset(currentOffset)
|
||||
setIsClick(false)
|
||||
}
|
||||
const clickHandler = (event: React.MouseEvent<HTMLDivElement>) => {
|
||||
if (disabled) return
|
||||
@@ -104,6 +106,7 @@ const Slider: React.FC<React.PropsWithChildren<SliderProps>> = ({
|
||||
setIsClick(true)
|
||||
setSliderWidth(getRefWidth(sliderRef))
|
||||
const clickOffset = event.clientX - sliderRef.current.getBoundingClientRect().x
|
||||
setLastDargOffset(clickOffset)
|
||||
updateValue(clickOffset)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user