JQuery实现图片切换(自动切换+手动切换)

来源:互联网 发布:linux 关闭图形界面 编辑:程序博客网 时间:2024/06/02 11:07

          

       学习JS的时候本来积攒了很多有趣的小例子,但是苦于没有找到一些好的平台来展示这些JS效果。今天发现了RunJS这个分享代码的平台,迫不及待得想跟大家分享。


    在浏览各大商城网站的时候,或者某些网站的首页,都会展示与本网站相关的一些实时切换的图片, 本文就给大家分享一个用jQuery实现图片自动切换的例子。

    

    主页核心代码(Default.aspx): 

<!DOCTYPE html><html><head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>jQuery实现图片切换</title>          <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>        <script type="text/javascript" src="js/tupianqiehuan.js"></script>        <link rel="stylesheet" type="text/css" href="css/tupianqiehuan.css"></head><body>        <div class="wrapper">                <h1>jquer实现图片切换</h1>                <div id="focus">                       <ul>                               <li><a href="#" target="_blank"><img src="images/01.jpg" alt="" /></a></li>                               <li><a href="#" target="_blank"><img src="images/02.jpg" alt="" /></a></li>                               <li><a href="#" target="_blank"><img src="images/03.jpg" alt="" /></a></li>                               <li><a href="#" target="_blank"><img src="images/04.jpg" alt="" /></a></li><span style="white-space:pre">                         </ul>                </div>        </div></body></html>

        

     CSS代码(tupianqiehuan.css):   

*{margin:0;padding:0;}body{font-size:12px;color:#222;font-family:Verdana,Arial,Helvetica,sans-serif;background:#f0f0f0;}.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}.clearfix{zoom:1;}ul,li{list-style:none;}img{border:0;}.wrapper{width:800px;margin:0 auto;padding-bottom:50px;}h1{height:50px;line-height:50px;font-size:22px;font-weight:normal;font-family:"Microsoft YaHei",SimHei;margin-bottom:20px;}/* focus */#focus{width:800px;height:280px;overflow:hidden;position:relative;}#focus ul{height:380px;position:absolute;}#focus ul li{float:left;width:800px;height:280px;overflow:hidden;position:relative;background:#000;}#focus ul li div{position:absolute;overflow:hidden;}#focus .btnBg{position:absolute;width:800px;height:20px;left:0;bottom:0;background:#000;}#focus .btn{position:absolute;width:780px;height:10px;padding:5px 10px;right:0;bottom:0;text-align:right;}#focus .btn span{display:inline-block;_display:inline;_zoom:1;width:25px;height:10px;_font-size:0;margin-left:5px;cursor:pointer;background:#fff;}#focus .btn span.on{background:#fff;}#focus .preNext{width:45px;height:100px;position:absolute;top:90px;background:url(http://sandbox.runjs.cn/uploads/rs/475/xaqlrnnr/sprite.png) no-repeat 0 0;cursor:pointer;}#focus .pre{left:0;}#focus .next{right:0;background-position:right top;}


     JS代码(tupianqiehuan.js):

$(function() {var sWidth = $("#focus").width(); //获取焦点图的宽度(显示面积)var len = $("#focus ul li").length; //获取焦点图个数var index = 0;var picTimer;//以下代码添加数字按钮和按钮后的半透明条,还有上一页、下一页两个按钮var btn = "<div class='btnBg'></div><div class='btn'>";for(var i=0; i < len; i++) {btn += "<span></span>";}btn += "</div><div class='preNext pre'></div><div class='preNext next'></div>";$("#focus").append(btn);$("#focus .btnBg").css("opacity",0.5);//为小按钮添加鼠标滑入事件,以显示相应的内容$("#focus .btn span").css("opacity",0.4).mouseover(function() {index = $("#focus .btn span").index(this);showPics(index);}).eq(0).trigger("mouseover");//上一页、下一页按钮透明度处理$("#focus .preNext").css("opacity",0.2).hover(function() {$(this).stop(true,false).animate({"opacity":"0.5"},300);},function() {$(this).stop(true,false).animate({"opacity":"0.2"},300);});//上一页按钮$("#focus .pre").click(function() {index -= 1;if(index == -1) {index = len - 1;}showPics(index);});//下一页按钮$("#focus .next").click(function() {index += 1;if(index == len) {index = 0;}showPics(index);});//本例为左右滚动,即所有li元素都是在同一排向左浮动,所以这里需要计算出外围ul元素的宽度$("#focus ul").css("width",sWidth * (len));//鼠标滑上焦点图时停止自动播放,滑出时开始自动播放$("#focus").hover(function() {clearInterval(picTimer);},function() {picTimer = setInterval(function() {showPics(index);index++;if(index == len) {index = 0;}},4000); //此4000代表自动播放的间隔,单位:毫秒}).trigger("mouseleave");//显示图片函数,根据接收的index值显示相应的内容function showPics(index) { //普通切换var nowLeft = -index*sWidth; //根据index值计算ul元素的left值$("#focus ul").stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position$("#focus .btn span").stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300);//为当前的按钮切换到选中的效果 }});


     具体效果可以参看 效果演示

         

     这里先给大家一个开胃菜,后面会抽时间简单说一下如何在 RunJS上发布自己的小程序以及使用RunJS的一些小技巧。


1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 东莞住房公积金个人帐户查询 西安市住房公积金查询 黄石住房公积金查询 住房公积金客服电话 保定住房公积金 郑州住房公积金 住房公积金咨询电话 泉州市住房公积金个人查询 南充住房公积金查询个人账户 住房公积金电话号码 银川住房公积金查询 淮南住房公积金查询个人账户 毕节住房公积金查询 邯郸市住房公积金管理中心 渭南市住房公积金管理中心 连云港住房公积金 临沂住房公积金查询个人账户 南充住房公积金 住房公积金密码 运城住房公积金查询 住房公积金查询电话 住房公积金热线 昆明市住房公积金管理中心 乌鲁木齐住房公积金查询 玉林市住房公积金管理中心 南宁住房公积金网 宜宾市住房公积金管理中心 重庆住房公积金 银川住房公积金查询个人账户 洛阳住房公积金查询 住房公积金卡 东莞住房公积金查询 南京住房公积金管理中心 成都住房公积金 广西住房公积金查询 广西区直住房公积金查询入口 哈尔滨住房公积金管理中心 武汉住房公积金查询个人账户 重庆市住房公积金管理中心 渭南住房公积金查询 咸阳市住房公积金管理中心