为什么我的没有效果?
直接下载老师的代码也是没有效果。就跟demo1的效果一样,没有progress的效果。是还要设置什么别的吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<title>swiper基础滑动</title>
<link href="../js/swiper/idangerous.swiper2.7.6.css" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
width: 100%;
height: 100%;
}
.swiper-container,
.swiper-wrapper,
.swiper-slide {
width: 100%;
height: 100%;
}
.swiper-slide img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide"><img src="http://img1.sycdn.imooc.com/climg//59f2f3c60001e51206000600.jpg"></div>
<div class="swiper-slide"><img src="http://img1.sycdn.imooc.com/climg//59f2f3dc0001512e06000533.jpg"></div>
<div class="swiper-slide"><img src="http://img1.sycdn.imooc.com/climg//59f2f3fb0001725305000707.jpg"></div>
</div>
</div>
<script src="../js/jquery-3.5.1.min.js"></script>
<script src="../js/swiper/idangerous.swiper2.7.6.min.js"></script>
<script src="../js/swiper/idangerous.swiper.progress.min.js"></script>
<script>
var myswiper = new Swiper('.swiper-container', {
progress: true,
onProgressChange: function (swiper) {
for (var i = 0; i < swiper.slides.length; i++) {
var slide = swiper.slides[i];
var progress = slide.progress;
swiper.setTransform(slide, 'translate3d(0px,0,' + (-Math.abs(progress * 1500)) + 'px)');
}
},
onTouchStart: function (swiper) {
for (var i = 0; i < swiper.slides.length; i++) {
swiper.setTransition(swiper.slides[i], 0);
}
},
onSetWrapperTransition: function (swiper, speed) {
for (var i = 0; i < swiper.slides.length; i++) {
swiper.setTransition(swiper.slides[i], speed);
}
}
})
for (var i = 0; i < myswiper.slides.length; i++) {
myswiper.slides[i].style.zIndex = myswiper.slides.length - i;
}
</script>
</body>
</html>13
收起
正在回答
2回答
同学你好,对于你的问题解答如下:
因为transform-style: preserve-3d; 该属性设置在父级元素中,它的子级元素具有3d效果。perspective: 1200px; 设置观察者到物体的距离。所以设置这两个属性后,js中通过translate3d改变元素位置时,会有一个3d的效果。
源码中只保留了最后一个例子的js代码,前面示例代码都被注释了,同学想要查看第二个demo的效果,可以打开js中这段注释,测试下效果即可。

同学的代码与老师的js代码不一样,所以实现的效果会有些差别,具体的可以参考源码对比下。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
3.WebAPP开发与小程序
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星