- 这段时间在做公司网站,要用到图片的切换,从网上下载了一下JQuery实现图片切换的方法,再次做一个小小的总结。
网页中Html代码如下:(仅图片切换的代码)
- <div id="img">
- <ul>
- <li><img src="ProductImage/广告.png" alt="打造网络信息安全产品专家"/></li>
- <li><img src="ProductImage/广告1.png" alt="分享,高效,务实,创新"/></li>
- <li><img src="ProductImage/广告2.png" alt="WPS,Word,Html,CAD,PDF"/></li>
- </ul>
- </div>
相关的Css代码为:
- /*设置图片轮换的css样式*/
- #img
- {
- width:1085px;
- height:280px;
- margin:0px auto;
- position:relative;
- overflow:hidden;
- margin-left:auto;
- margin-right:auto;
- }
- #img ul
- {
- list-style-type:none;
- position: absolute;
- padding:0px;
- margin:0px;
- float:left;
- }
- #img ul li
- {
- height:280px;
- width:1085px;
- position:absolute;
- line-height:280px;
- }
然后是JQuery代码,实现图片的轮换(记得引入JQuery-mini,js文件)
<script type="text/javascript" language="javascript" src="JS/jquery-1.4.2.min.js"></script>
- /*图片切换的JQuery代码*/
- $(function () {
- //获取Div的ul对象
- var ul = $("#img ul");
- //获取Div的li对象
- var li = $("#img li");
- //设置切换速度
- var speed = 2000;
- var autospeed = 6000;
- var i = 1;
- var index = 0;
- var n = 0;
- var t = 3;
- /*自动切换图片的函数*/
- function autoroll() {
- if (n >= 3) {
- n = 0;
- }
- ul.css({ "margin-top": "0px" });
- li.css({ "margin-top": "0px" });
- //设置堆叠顺序
- li.eq(n).css({ "z-index": i });
- //设置上下的边距
- li.eq(n).css({ "margin-top": "-280px" });
- n++;
- i++;
- //设置定时器,每隔3秒执行一次函数
- timer = setTimeout(autoroll, autospeed);
- //将ul设置为-400,隐藏下一层的图片
- ul.animate({ marginTop: "280px" }, speed);
- };
- /* 鼠标悬停即停止自动轮换 */
- function stoproll() {
- //鼠标移上去时,停止切换
- li.hover(function () {
- clearTimeout(timer);
- }, function () {
- timer = setTimeout(autoroll, autospeed);
- });
- };
- //页面刚加载时停顿5秒
- function Waiting() {
- if (t >= 0) {
- t--;
- setTimeout(Waiting, 1000);
- }
- else {
- //5秒以后程序开始自动切换图片
- autoroll();
- //注意:若将stoproll()函数写在外面,则页面加载时,先执行Waiting()函数,然后时间到5秒以后就执行autoroll()函数,stoproll()函数将不会得到执行
- stoproll();
- }
- };
- Waiting();
- });