|
@@ -15,12 +15,15 @@ var sliderData = (function(cb){
|
|
|
var distance = 0;
|
|
|
var startTranslate;
|
|
|
var isSlide = false;
|
|
|
+ var slideing = false;
|
|
|
+ var SlideNumber = 1;
|
|
|
|
|
|
function touchstart(e){
|
|
|
startX = e.touches[0].clientX;
|
|
|
startTime = new Date().getTime();
|
|
|
startTranslate = translateX;
|
|
|
isSlide = true;
|
|
|
+ SlideNumber++;
|
|
|
}
|
|
|
|
|
|
function touchmove(e){
|
|
@@ -37,9 +40,11 @@ var sliderData = (function(cb){
|
|
|
distance = currentX - startX;
|
|
|
translateX = currentX - startX + startTranslate;
|
|
|
|
|
|
- document.getElementById("slider-list").style.transform = "translateX("+translateX/100+"rem)"
|
|
|
+ document.getElementById("slider-list").style.transform = "translateX("+translateX/100+"rem)";
|
|
|
+ slideing = true;
|
|
|
}
|
|
|
function touchend(){
|
|
|
+ if (slideing && SlideNumber>2) return //正在滑动 又开始滑动
|
|
|
if (!isSlide || sliderNumber == 0) return
|
|
|
var duration = +new Date() - startTime
|
|
|
if (translateX > startTranslate) {
|
|
@@ -49,6 +54,10 @@ var sliderData = (function(cb){
|
|
|
} else {
|
|
|
newTranslateX = startTranslate
|
|
|
}
|
|
|
+ if(pageNum == Math.abs(newTranslateX / width) + 1){
|
|
|
+ pageNum = Math.abs(newTranslateX / width) //解决cb中pageNum不是最新的
|
|
|
+ cb();
|
|
|
+ }
|
|
|
} else {
|
|
|
// 向右划
|
|
|
if (Math.abs(distance) > width / 3 || (Math.abs(distance) > 40 && duration < 600)) {
|
|
@@ -56,22 +65,19 @@ var sliderData = (function(cb){
|
|
|
} else {
|
|
|
newTranslateX = startTranslate
|
|
|
}
|
|
|
+ if(pageNum == Math.abs(newTranslateX / width) - 1){
|
|
|
+ pageNum = Math.abs(newTranslateX / width) //解决cb中pageNum不是最新的
|
|
|
+ cb();
|
|
|
+ }
|
|
|
}
|
|
|
- let widthVal = Math.abs(newTranslateX / width)
|
|
|
- if (!(/(^[1-9]\d*$)/.test(widthVal))) {
|
|
|
- return
|
|
|
- }
|
|
|
translateX = newTranslateX;
|
|
|
isSlide = false;
|
|
|
distance = 0;
|
|
|
- if(pageNum == Math.abs(newTranslateX / width) - 1){
|
|
|
- pageNum = Math.abs(newTranslateX / width) //解决cb中pageNum不是最新的
|
|
|
- cb();
|
|
|
- }else {
|
|
|
- pageNum = Math.abs(newTranslateX / width)
|
|
|
- }
|
|
|
+ pageNum = Math.abs(newTranslateX / width)
|
|
|
document.getElementById("slider-list").style.transform = "translateX("+translateX/100+"rem)"
|
|
|
lineMove();
|
|
|
+ slideing = false;
|
|
|
+ SlideNumber = 1;
|
|
|
}
|
|
|
//点击左耳朵
|
|
|
leftEarDom.addEventListener('click',() => {
|