这是左边位置上的计算处理的
next.onclick = function(){
if (animated) {
return;
}
if (!animated) {
animate(-600);
}
if(index == 5){
index = 1;
}else{
index += 1;
}
showButton();
console.log(index); //删掉这一行
}
改成setTimeout(go, 300)
我是看了好几遍视频才勉强搞明白什么意思,这么给你解释吧:
看上面这个数轴:
首先speed为负的时候,为向左进行位移,这个应该不会有问题吧。然后你想,向左进行位移是想达到什么目的呢?肯定是想让位移后的位置跑到位移前位置的左边,也就是说在进行位移之前,需要满足位移前的位置在数轴上要在位移后的位置的右边,即parseInt(list.style.left)>newLeft,这么说应该就可以懂了吧。
如果懂了,那么想右位移的情况应该也就不难理解了
WebStorm 7.0.2
可以的
var speed = offset/(time/inteval);
time/inteval = 总位移时间/每次位移间隔(多久位移一下)=位移次数(需要位移多少下);
offset/(time/inteval) =总路程/位移次数=每次位移的速度(每下动多少);
var 位移速度 = 总路程/(总位移时间/每次位移间隔);
animated的值已经改变了,它执行动画的时候animated的值改为true了,不执行动画是为false。
emm 我试了下 貌似移动得快一点也没有出现你说的情况
这个你需要个判断,设置成如果在动的话点击无效就好了
越往左移动,值就是越小的,所以左移的时候不可能出现当前值大于目标值的情况,if括号内的条件指的是:如果当前值大于目标值,说明还没有移动到位(移动到位就相等了,不会执行动画),所以需要后面执行动画
可以这样:
content.css({ 'transition':'none', 'transform':`translateX(-${initIndex*outerWidth}px)`, });
上代码
这。。。。
可以看下源代码吗?
因为一开始图片没有移动是静止状态;
应为一开始animated是false,所以取反和与false判断一样都是true;
跟着来一遍 ,之后就会发现很简单
一样的,应该是可以的,就像视屏中newLeft=parseInt(list.style.left)+offset;但是你的那个parseInt(list.style.top)好像本身就是一个固定值
没人需要你相信,你信不信都不影响别人会不会做。你要是以这种我不行我就不信别人行的心态来学习,劝你还是早点离开这些东西吧,学编程学代码,需要脑子,需要逻辑,你现在透露出来的就是没有。
找到问题了,else里面的list.style.left=parseInt(list.style.left)+offset+"px"; 等号后应该用newLeft,用parseInt(list.style.left)相当于又判断了移动后的位置导致最后一次跳了一张图片
选中 你要添加的内容 直接按花括号(shift+9)
把showButton都放到if判断语句中。
资料下载那,视频的右下角
等于left,也就是图片到达指定位置的时候跳出。
将var animated = true;改为var animated = false;
你说的是新样式的宽度????还是......
在第一张前面加一张尾图,在最后一张后面加一张首图。所以做5个图的轮播需要7张图,才能实现无缝滚动
再多粘点代码~