登录  /  注册
首页 > web前端 > H5教程 > 正文

纯js和CSS3炫酷自动幻灯片特效

ringa_lee
发布: 2018-05-11 16:35:40
原创
3365人浏览过

简要教程
  karrot slider是一款纯javascript和css3制作的自动播放的幻灯片插件。该幻灯片没有任何外部依赖,内置有8种不同的动画过渡效果。该幻灯片支持响应式图片设计模式,也可以制作为全屏幻灯片模式。

  使用方法
  使用该幻灯片插件需要引入slider.css和sliderEffects.js文件。

<link href="css/slider.css?7.1.33" rel="stylesheet" type="text/css" /> 
<script src="js/sliderEffects.js?7.1.33"></script>
登录后复制

复制代码 

HTML结构  创建一个带ID号的<p>,然后设置它的宽度和高度,并将第一张图片放置在这个<p>中。
<p id="slider" style="width: 900px; height: 505px; margin: auto;"> 
<img  src="images/1.jpg"  alt="纯js和CSS3炫酷自动幻灯片特效" > 
</p>
登录后复制

复制代码

8种内置过渡动画效果的使用  该幻灯片内置了8种不同的动画过渡效果:
  Dissolve
  Slide Up
  Slide Down
  Slide Left
  Slide Right
  Mosaic
  Window
  Doors
  所有的效果函数都包含2个参数,第一个是当前图片的引用,第二个是下一张图片的引用。
//effect(current, next); 
KSDissolve("images/1.jpg", "images/2.jpg");
KSSlideUp("images/1.jpg", "images/2.jpg");
KSSlideDown("images/1.jpg", "images/2.jpg");
KSSlideLeft("images/1.jpg", "images/2.jpg");
KSSlideRight("images/1.jpg", "images/2.jpg");
KSMosaic("images/1.jpg", "images/2.jpg");
KSWindows("images/1.jpg", "images/2.jpg");
KSDoors("images/1.jpg", "images/2.jpg");
登录后复制

复制代码

 初始化插件  要初始化该幻灯片插件,可以创建3个变量:一个图片数组,图片显示的时间和当前图片的下标。
var images = ["images/1.jpg" , "images/2.jpg" , "images/3.jpg", "images/4.jpg" ];
var timing = 3000;
var currentImg = 1;
登录后复制

复制代码

 然后创建一个函数来选择下一张图片,并可以设置过渡到下一张图片时的动画效果。
function karrotSlider() { 
var nextimg = (currentImg + 1) > images.length ? 1 : currentImg + 1 ;
var effect = Math.floor (Math.random()*6 +1 ); 
switch (effect) { 
case 1: 
KSDissolve(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 2: 
KSSlideUp(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 3: 
KSSlideDown(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 4: 
KSSlideLeft(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 5: 
KSSlideRight(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 6: 
KSMosaic(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 7: 
KSWindows(images[currentImg- 1], images[nextimg- 1]) 
break; 
case 8: 
KSDoors(images[currentImg- 1], images[nextimg- 1]) 
break; 
} 
currentImg = (currentImg + 1) > images.length ? 1 : currentImg + 1;
}
登录后复制

复制代码

最后使用setInterval()函数来调用这个函数。
setInterval(function () { karrotSlider() } , timing);
登录后复制

  注意:所有的图片必须尺寸相同。如果想制作全屏幻灯片,可以在body结束之前调用fullScreen();函数。
   

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号