老师,有问题
我在swiper官网的源码中粘贴像老师那样粘贴demo2的配置源码就没问题,但粘贴其他效果的源码就会报错,这是怎么回事?老师帮忙看一下非常感谢
相关截图:
这是我下载的demo4立体旋转的配置源码,但是就会报错



16
收起
正在回答
2回答
同学你好,测试粘贴的这段代码翻滚效果没有问题。老师这里报错是因为图片获取不到而已

自己本地用不了例子中的图片,换一个就好了。
建议使用下面的翻滚效果代码再测试一下(记得js文件地址更换为自己的)
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.bootcdn.net/ajax/libs/Swiper/2.7.0/idangerous.swiper.css" rel="stylesheet">
</head>
<body>
<style>
body {
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
color: #fff;
padding: 0;
margin: 0;
font-size: 13px;
}
.swiper-container {
width: 320px;
height: 480px;
background: #000;
-webkit-perspective: 1200px;
-moz-perspective: 1200px;
-ms-perspective: 1200px;
perspective: 1200px;
}
.swiper-wrapper,
.swiper-slide,
.flip-container {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.flip-container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
backface-visibility: hidden;
}
.swiper-slide {
position: relative;
}
.title {
line-height: 480px;
text-align: center;
font-weight: 100;
}
.title span {
font-size: 60px;
line-height: 70px;
display: inline-block;
vertical-align: middle;
}
.inner {
padding: 20px;
font-size: 14px;
font-weight: 300;
}
.caption {
font-size: 50px;
font-weight: 100;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
background: rgba(0, 0, 0, 0.7);
padding: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.device {
padding: 30px 10px;
background: #222;
margin: 10px auto;
width: 320px;
border-radius: 20px;
border: 4px solid #fff;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
</style>
<div class="device">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="flip-container">
<div class="title">
<span>Start<br>Swiping</span>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="flip-container">
<div class="inner">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos, tenetur aliquam possimus enim in atque fugiat et quos. Illum, perferendis, culpa esse quia ad impedit illo? Laborum iusto dicta sunt!</p>
<p>Mollitia, beatae, corporis, maxime quaerat laudantium amet impedit nisi animi rerum consequatur voluptates harum. Iste explicabo eveniet officiis architecto illum pariatur sint deleniti. Deserunt, nam dolor beatae excepturi
placeat aperiam!</p>
<p>Incidunt, corporis, rerum eaque unde quae repudiandae labore distinctio. A, libero, veritatis distinctio doloremque similique consequatur qui nihil totam obcaecati odio repellat accusantium iusto molestias cupiditate dolore
voluptatem eos natus?</p>
<p>Vel, harum, consequuntur velit aut ullam odit delectus nesciunt labore temporibus ab! Cum et inventore quasi. Maxime, quos, earum, dolore impedit quibusdam eveniet asperiores minus saepe nulla harum sint velit.</p>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="flip-container">
<div class="title">
<span>Keep<br>swiping</span>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="flip-container">
<img src="madonna320.jpg" alt="">
<div class="caption">Madonna</div>
</div>
</div>
<div class="swiper-slide">
<div class="flip-container">
<img src="michael320.jpg" alt="">
<div class="caption">Michael Jackson</div>
</div>
</div>
<div class="swiper-slide">
<div class="flip-container">
<div class="title">
<span>The End!</span>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/Swiper/2.7.0/idangerous.swiper.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;
var rotate = -180 * progress;
if (rotate < -180) rotate = -180;
if (rotate > 180) rotate = 180;
var translate = progress * swiper.width;
swiper.setTransform(slide, 'translate3d(' + translate + 'px,0,' + -Math.abs(progress) * 500 + 'px)');
swiper.setTransform(slide.querySelector('.flip-container'), 'rotateY(' + rotate + 'deg)');
}
},
onTouchStart: function(swiper) {
for (var i = 0; i < swiper.slides.length; i++) {
swiper.setTransition(swiper.slides[i], 0);
swiper.setTransition(swiper.slides[i].querySelector('.flip-container'), 0);
}
},
onSetWrapperTransition: function(swiper, speed) {
for (var i = 0; i < swiper.slides.length; i++) {
swiper.setTransition(swiper.slides[i], speed);
swiper.setTransition(swiper.slides[i].querySelector('.flip-container'), speed);
}
}
})
</script>
</body>
</html>
自己再试试,祝学习愉快!
好帮手慕星星
2021-03-12 11:52:49
同学你好,指的是这个效果吗?

老师这边下载代码测试是没有问题的,如下代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./js/swiper/idangerous.swiper2.7.6.css">
</head>
<body>
<style>
body {
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
color: #fff;
padding: 0;
margin: 0;
font-size: 13px;
}
.swiper-container {
width: 320px;
height: 480px;
background: #000;
-webkit-perspective: 1200px;
-moz-perspective: 1200px;
-ms-perspective: 1200px;
perspective: 1200px;
}
.swiper-wrapper,
.swiper-slide {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.swiper-slide {
position: relative;
}
.title {
line-height: 480px;
text-align: center;
font-weight: 100;
}
.title span {
font-size: 60px;
line-height: 70px;
display: inline-block;
vertical-align: middle;
}
.inner {
padding: 20px;
font-size: 14px;
font-weight: 300;
}
.caption {
font-size: 50px;
font-weight: 100;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
background: rgba(0, 0, 0, 0.7);
padding: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.device {
padding: 30px 10px;
background: #222;
margin: 10px auto;
width: 320px;
border-radius: 20px;
border: 4px solid #fff;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
</style>
<div class="device">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="title">
<span>Start<br>Swiping</span>
</div>
</div>
<div class="swiper-slide">
<div class="inner">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eos, tenetur aliquam possimus enim in atque fugiat et quos. Illum, perferendis, culpa esse quia ad impedit illo? Laborum iusto dicta sunt!</p>
<p>Mollitia, beatae, corporis, maxime quaerat laudantium amet impedit nisi animi rerum consequatur voluptates harum. Iste explicabo eveniet officiis architecto illum pariatur sint deleniti. Deserunt, nam dolor beatae excepturi placeat
aperiam!
</p>
<p>Incidunt, corporis, rerum eaque unde quae repudiandae labore distinctio. A, libero, veritatis distinctio doloremque similique consequatur qui nihil totam obcaecati odio repellat accusantium iusto molestias cupiditate dolore voluptatem
eos natus?</p>
<p>Vel, harum, consequuntur velit aut ullam odit delectus nesciunt labore temporibus ab! Cum et inventore quasi. Maxime, quos, earum, dolore impedit quibusdam eveniet asperiores minus saepe nulla harum sint velit.</p>
</div>
</div>
<div class="swiper-slide">
<div class="title">
<span>Keep<br>swiping</span>
</div>
</div>
<div class="swiper-slide">
<img src="madonna320.jpg" alt="">
<div class="caption">Madonna</div>
</div>
<div class="swiper-slide">
<img src="michael320.jpg" alt="">
<div class="caption">Michael Jackson</div>
</div>
<div class="swiper-slide">
<div class="title">
<span>The End!</span>
</div>
</div>
</div>
</div>
</div>
<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;
var rotate = -90 * progress;
if (rotate < -90) rotate = -90;
if (rotate > 90) rotate = 90;
var translate = progress * swiper.width / 2;
var opacity = 1 - Math.min(Math.abs(progress), 1);
slide.style.opacity = opacity;
swiper.setTransform(slide, 'rotateY(' + rotate + 'deg) translate3d(' + translate + 'px,0,0)');
}
},
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);
}
}
})
</script>
</body>
</html>
记得把css和两个js文件换为自己本地的文件哦,可能会和老师的地址不一样。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星