JS+html--实现图片轮播
大家肯定见过某些网站一个炫酷的页面,就是图片轮播,也就是我们常说的幻灯片播放。对于初学者来说,可能会有点头疼,没关系,小李在这给大家献上自己刚刚写好的关于图片轮播的代码。
以下功能的实现用了jQuery,大家可以去网上找一下关于jQuery的资源下载使用。
- index.html
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>幻灯片文档</title>
- <link href="_css/slide.css" type="text/css" rel="stylesheet" />
- <script src="_js/jquery.min.js" type="text/javascript"></script>
- <script src="_js/slide.js" type="text/javascript"></script>
- </head>
- <body>
- <h1>幻灯片设计</h1>
- <!-- html页面通过li标签添加播放图片 -->
- <div class="slider-container">
- <ul id="slider" class="slider-wrapper">
- <li class="slide-first" >
- <img src="_images/p1.jpg" alt="雪山天池" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">雪山天池</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p2.jpg" alt="未来之路" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">未来之路</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p3.jpg" alt="独立寒秋" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">独立寒秋</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p4.jpg" alt="高山流水" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">高山流水</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p5.jpg" alt="天堑变通途" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">天堑变通途</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p6.jpg" alt="远古的呼唤" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">远古的呼唤</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p7.jpg" alt="欲与天公试比高" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">欲与天公试比高</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p8.jpg" alt="人间仙境,室外桃园" />
- <div class="caption">
- <h3 class="caption-title"><a href="#">雪山天池</a></h3>
- </div>
- </li>
- <li>
- <img src="_images/p9.jpg" alt="山不转水转" />
- <div class="caption">
- <h3 class="caption-title"><a href="http://www.ldu.edu.cn/">山不转水转</a></h3>
- </div>
- </li>
- </ul>
- <ul id="slider-controls" class="slider-controls"></ul>
- </div><!-- end of slider-container -->
- <p>适用浏览器:Firefox、Chrome、Opera、Safari,不支持IE8以下浏览器</p>
- </body>
- </html>
- slide.css
- @charset "utf-8";
- /* 整体设置 */
- html {
- margin:0px;
- padding:0px;
- }
- body {
- background:#FF9;
- font-size:62.5%;
- }
- /* 页面标题 */
- h1 {
- font-family:"隶书","宋体","Times New Roman", Times, serif;
- font-size:5em;
- text-align:center;
- color:red;
- margin:10px auto;
- }
- /* 图片容器的样式定义 */
- .slider-container {
- margin:0px auto;
- background:#FFF;
- width:800px;
- }
- /* 图片列表的样式定义 */
- ul {
- list-style-type:none;
- }
- .slider-wrapper {
- margin:0px;
- padding:0px;
- position:relative;
- height:450px;
- width:100%;
- border:5px solid #69F;
- overflow:hidden;
- z-index:;
- box-shadow:8px 8px 4px #999999;
- }
- .slider-wrapper li {
- display:none;
- }
- li.slide-first {
- display:block;
- }
- .slider-wrapper li img {
- position:absolute;
- top:0px;
- left:0px;
- max-width:100%;
- height: auto;
- }
- /* 图片标题的样式定义 */
- .caption {
- position:absolute;
- left:0px;
- bottom:0px;
- width:100%;
- padding 10px;
- background:rgba(0,0,0,0.6);
- transform:translateY(100%);
- -ms-transform:translateY(100%); /* IE 9 */
- -moz-transform:translateY(100%); /* Firefox */
- -webkit-transform:translateY(100%); /* Safari 和 Chrome */
- -o-transform:translateY(100%); /* Opera */
- }
- .slider-wrapper li:hover .caption {
- transform:translateY(0%);
- -ms-transform:translateY(0%); /* IE 9 */
- -moz-transform:translateY(0%); /* Firefox */
- -webkit-transform:translateY(0%); /* Safari 和 Chrome */
- -o-transform:translateY(0%); /* Opera */
- transition:all 0.3s ease-in;
- -ms-transition:all 0.3s ease-in; /* IE 9 */
- -moz-transition:all 0.3s ease-in; /* Firefox */
- -webkit-transition:all 0.3s ease-in; /* Safari 和 Chrome */
- -o-transition:all 0.3s ease-in; /* Opera */
- }
- .caption-title {
- font-size:1.6em;
- color:#6FF;
- font-weight:;
- line-height:2em;
- }
- .caption-title a {
- color:#FFF;
- font-size:2em;
- text-decoration:none;
- }
- .caption-title a:hover {
- background:red;
- }
- .caption-title a:active {
- background:blue;
- }
- /* 提示信息 */
- p {
- color:black;
- font-size:2em;
- text-align:center;
- margin:50px 0;
- line-height:2em;
- margin:20px auto;
- }
- /* 作者按钮 */
- .author a {
- font-family:"宋体";
- color:white;
- text-decoration:none;
- font-size:2em;
- border-radius:10px;
- padding:5px 7px;
- background:linear-gradient(#33C,#6CC);
- }
- .author a:hover {
- background:linear-gradient(#FCF,#000);
- }
- /* 控制按钮 */
- .slider-controls {
- text-align: center;
- margin-top: 15px;
- }
- .slider-controls li {
- background:#FC6;
- /*border-radius: 50%;*/
- display:inline-block;
- height: 12px;
- width: 12px;
- margin: 0px 4px;
- cursor: pointer;
- }
- .slider-controls li.active {
- background: red;
- }
- slide.js
- /**
- * 幻灯片JS脚本
- */
- $(function() {
- var SliderModule = (function() {
- var pb = {};
- pb.el = $('#slider'); //el表达式
- pb.items = {
- panel: pb.el.find('li') // 获得li集合
- }
- // 变量
- var SliderInterval,
- currentSlider = 0, //当前幻灯片
- nextSlider = 1, //下一张
- lengthSlider = pb.items.panel.length; // 幻灯片集合长度
- // 初始化
- pb.init = function(settings) {
- this.settings = settings || {duration: 8000}
- var output = ''; // 输出的html语言
- // 初始化
- SliderInit();
- for(var i = 0; i < lengthSlider; i++) {
- if (i == 0) {
- output += '<li class="active"></li>';
- } else {
- output += '<li></li>';
- }
- }
- // 单击按钮时切换图片
- $('#slider-controls').html(output).on('click', 'li', function (e){
- var $this = $(this);
- if (currentSlider !== $this.index()) {
- changePanel($this.index());
- };
- });
- }
- // 初始化方法
- var SliderInit = function() {
- SliderInterval = setInterval(pb.startSlider, pb.settings.duration);
- }
- pb.startSlider = function() {
- var panels = pb.items.panel,
- controls = $('#slider-controls li');
- if (nextSlider >= lengthSlider) {
- nextSlider = 0;
- currentSlider = lengthSlider-1;
- }
- // 淡出淡入效果
- controls.removeClass('active').eq(nextSlider).addClass('active');
- panels.eq(currentSlider).fadeOut('slow');
- panels.eq(nextSlider).fadeIn('slow');
- // 设置当前幻灯片
- currentSlider = nextSlider;
- nextSlider += 1;
- }
- // 自动切换幻灯片
- var changePanel = function(id) {
- clearInterval(SliderInterval);
- var panels = pb.items.panel,
- controls = $('#slider-controls li');
- // 幻灯片头尾
- if (id >= lengthSlider) {
- id = 0;
- } else if (id < 0) {
- id = lengthSlider-1;
- }
- // 幻灯片淡出淡入
- controls.removeClass('active').eq(id).addClass('active');
- panels.eq(currentSlider).fadeOut('slow');
- panels.eq(id).fadeIn('slow');
- // 当前幻灯片和下一张
- currentSlider = id;
- nextSlider = id+1;
- //重新初始化
- SliderInit();
- }
- return pb;
- }());
- // 图片切换速度 4000毫秒
- SliderModule.init({duration: 4000});
- });
欢迎各位大神批评指正,相互提高!
版权所有,允许转载,转载请注明出处,侵权必究!
JS+html--实现图片轮播的更多相关文章
- js定时器实现图片轮播
效果展示如下: setInterval(moverleft,3000);定时器设置为3秒,而且实现图片下方的小圆点序号跟图片对应,点击小圆点也能切换图片. 代码如下: <!DOCTYPE htm ...
- Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示
用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件 ...
- html学习之路--简单图片轮播
一个简单的图片轮播效果 photo.html页面代码,基本的HTML结构,在main中显示图片,此处图片依次命名为1.jpg.2.jpg.3.jpg.4.jpg. <!DOCTYPE html& ...
- 推荐一款超级漂亮的HTML5 CSS3的图片轮播器
最近在学习HTML5和CSS3,印象最深的是CSS3的动画功能,不仅有浏览器原生支持,执行效率高,而且免去在js中自己管理timer. 本来想写一个图片轮播器练练手,结果在网上发现一个国人写的开源的图 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- 原生JS实现"旋转木马"效果的图片轮播插件
一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...
- 基于面向对象的图片轮播(js原生代码)
无论你想走多远,你都需要不断地走下去.前端最精华的便是原生的js,这也是我们前端工程师的技术分层的重要指标,也提现这你的代码能力,开发的水平.废话不多说,进入今天的主要分享————基于面向对象思想的图 ...
- 图片轮播(左右切换)--JS原生和jQuery实现
图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章 淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外 ...
- 图片轮播(淡入淡出)--JS原生和jQuery实现
图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成j ...
随机推荐
- Binary Tree Paths leetcode
Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...
- CoreAnimation 开篇
CoreAnimation 开篇 CoreAnimation系列博客是我对学习CoreAnimation的知识整理,博客排列顺序以及知识讲解存在欠缺望见谅. 博客的编写是在工作之余,尽量保证CoreA ...
- Servlet 3.0/3.1 中的异步处理
在Servlet 3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理.如果一个请求需要进行IO操作,比如访问数据库.调 ...
- 使用mysql_Front链接mysql,出现警告access denied for user ''@'localhost'
刚刚安装好的mysql5.7,想来使用工具方便一下,却一直有报这个错误: 最后找出原因:我给root用户设置的密码神不知鬼不觉的消失了,无奈, 解决办法一: cmd->mysql -h loca ...
- 009 Java集合浅析4
前面一篇教程中,我们分析了List派别中的最常见也最重要的一个类ArrayList<E>.从我们的分析来看,ArrayList作为动态数组的模拟,使用的是连续内存空间来存储数据,带来了可随 ...
- golang http server分析(一)
http:http请求过程实质上是一个tcp连接通信,具体通过socket接口编码实现 在go中是通过listenAndServer()方法对外提供了一个http服务,在该方法中完成了socket的通 ...
- C#传递委托给C或C++库报错__对XXX类型的已垃圾回收委托进行了回调
出现的原因: 因为你传给C或C++的委托是局部的.可能传过去之后就被垃圾回收了,再次调用就会异常. 想办法做成全局的就好 public void Play(string url) { _bassStr ...
- SQLServer中间接实现函数索引或者Hash索引
本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后 ...
- python编码问题之\"encode\"&\"decode\"
python encode decode 编码 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换 ...
- linux 下日常使用便利工具
Nautilus 你工作中有在GUI和命令行之间切来切去吗?当你总是要在命令行中输入你要进入的目录的时候,你有沮丧无奈过吗?如果有的话,那么,你一定要试下这个nautilus插件 —— nautilu ...