data/attachment/common/编程

编程

    今日:0| 主题:21
收藏本版
发表新帖

[html] 程序人生 jquery轮播图详解,40行代码即可简单解决。

[复制链接] [提交至百度]
admin 发表于 2018-11-8 00:24:59
1163 0

马上注册,下载资源,享用更多功能,让你轻松玩转网站

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我在两个月以前没有接触过html,css,jquery,javascript。今天我却在这里分享一篇技术贴,可能在技术大牛面前我的文章漏洞百出,也请斧正。
可以看出来,无论是div+css布局还是jquery其实真的很简单,只要不停的练习就会有很大进步。每天150行代码,会帮助我们走的更远。对于编程对于脚本语言,我们这样的学生娃没有和比人一样初中,高中就开始研究,要想走在时代的前沿需要怎样的努力和毅力,是我们一类人需要思考的方向。
下面解释下焦点图,焦点图使用范围非常广,banner和animation很容易抓住用户的眼球,所以做好这个也就是一个网页一个app的关键之一。
焦点图实现的方式很多种,可以是css的jjq的甚至其他框架的,jq最近很火这里以此举例。
下面进一段html代码:
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>横向滑动的悬停焦点图全代码</title>
  6. <link href="css/slidepic8.css" rel="stylesheet" type="text/css"/>
  7. <script type="text/javascript" src="jq/jquery-3.1.1.min.js"></script>

  8. </head>

  9. <body>
  10. <div class="slideBox">
  11.     <ul>
  12.     <li><img src="image/Lslide3.jpg" alt="" width="300" height="480"/></li>
  13.     <li><img src="image/Lslide4.jpg" alt="" width="300" height="480"/></li>
  14.     <li><img src="image/Lslide5.jpg" alt="" width="300" height="480"/></li>
  15.     <li><img src="image/Lslide6.jpg" alt="" width="300" height="480"/></li>
  16.     <li><img src="image/Lslide2.jpg" alt="" width="300" height="480"/></li>
  17.     <li><img src="image/Lslide1.jpg" alt="" width="300" height="480"/></li>
  18.     </ul>
  19.     <div class="spanBox">
  20.     <span class="active">q</span>
  21.     <span>a</span>
  22.     <span>z</span>
  23.     <span>w</span>
  24.     <span>s</span>
  25.     <span>x</span>
  26.     </div>
  27.     <div class="prev"><img src="image/left_arrow.jpg" width="15" height="50" alt=""/></div>
  28.     <div class="next"><img src="image/right_arrow.jpg" width="15" height="50" alt=""/></div>
  29. </div>
  30. </body>
  31. </html>
复制代码
上面是html代码,代码的结构比较简单,这里解释一下,ul标签是要左右移动的,所以怎么设置position属性?,然后span标签是提供索引和下标控制符,绑定动画的。prev和next类名的div标签是提供左右按钮,电机可以实现左右滑动。
下面附上css代码:
  1. @charset "utf-8";
  2. /* CSS Document */
  3. *{
  4.     padding:0px;
  5.     border:0px;
  6.     margin:0px;
  7. }
  8. ul {
  9.     list-style:none;
  10. }
  11. .slideBox {
  12.     margin:50px auto;
  13.     width:300px;
  14.     height:480px;
  15.     box-shadow:2px 2px 10px #C38DD4;
  16.     border-radius:20px;
  17.     position:relative;
  18.     overflow:hidden;
  19. }
  20. .slideBox ul {
  21.     position:relative;
  22.     width:2000px;}
  23. .slideBox ul li {
  24.     float:left;
  25.     width:300px;
  26.     height:480px;
  27.     position:relative;
  28.    
  29. }
  30. .spanBox {
  31.     position:absolute;
  32.     width:300px;
  33.     height:20px;
  34.     bottom:10px;
  35.     left:80px;
  36. }
  37. .spanBox span {
  38.     width:18px;
  39.     height:18px;
  40.     margin-left:5px;
  41.     background-color:rgba(201,178,207,1.00);
  42.     float:left;
  43.     line-height:16px;
  44.     text-align:center;
  45.     text-shadow:2px 2px 2px #C5EBF0;
  46.     font-family:cabin-sketch;
  47.     font-size:15px;
  48. }
  49. .slideBox .spanBox .active {
  50.     background-color:rgba(155,83,244,0.79);
  51.     border:solid 1px #BEEBEC;
  52.     border-radius:4px;
  53. }
  54. .prev {
  55.     position:absolute;
  56.     left:0px;
  57.     top:320px;
  58.     float:left;
  59.     border-left:solid 1px rgba(251,245,246,1.00);
  60.     opacity:0.5;
  61. }
  62. .next {
  63.     width:15px;
  64.     height:50px;
  65.     position:absolute;
  66.     right:0px;
  67.     top:320px;
  68.     float:right;
  69.     border-right:solid 1px rgba(245,237,237,1.00);
  70.     opacity:0.5
  71. }
复制代码
我是链接的外部css文件,然后请注意一下各种属性和值。电脑端的话,html是相当于文本结构常说的dom,解码的时候配合css属性进行渲染,具体的属性请大家自己测试,在四种常用的浏览器测试一下css属性,我这里就偷懒了没有加上-webkit-,-moz-等等,大家如果需要用可以hack。
下面附上jquery代码:
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.      var slideBox = $(".slideBox");
  4.      var ul = slideBox.find("ul");
  5.      var oneWidth = slideBox.find("ul li").eq(0).width();
  6.      var number = slideBox.find(".spanBox span");            //注意分号 和逗号的用法
  7.      var timer = null;
  8.      var sw = 0;                    
  9.      //每个span绑定click事件,完成切换颜色和动画,以及读取参数值
  10.      number.on("click",function (){
  11.      $(this).addClass("active").siblings("span").removeClass("active");
  12.      sw=$(this).index();
  13.      ul.animate({
  14.             "right":oneWidth*sw,    //ul标签的动画为向左移动;
  15.                });
  16.      });
  17.      //左右按钮的控制效果
  18.      $(".next").stop(true,true).click(function (){
  19.          sw++;
  20.          if(sw==number.length){sw=0};
  21.          number.eq(sw).trigger("click");
  22.          });
  23.     $(".prev").stop(true,true).click(function (){
  24.         sw--;
  25.         if(sw==number.length){sw=0};
  26.         number.eq(sw).trigger("click");
  27.         });
  28.     //定时器的使用,自动开始
  29.     timer = setInterval(function (){
  30.         sw++;
  31.         if(sw==number.length){sw=0};
  32.         number.eq(sw).trigger("click");
  33.         },2000);
  34.     //hover事件完成悬停和,左右图标的动画效果
  35.     slideBox.hover(function(){
  36.         $(".next,.prev").animate({
  37.             "opacity":1,
  38.             },200);
  39.         clearInterval(timer);
  40.         },function(){
  41.             $(".next,.prev").animate({
  42.                 "opacity":0.5,
  43.                 },500);
  44.         timer = setInterval(function (){
  45.         sw++;
  46.         if(sw==number.length){sw=0};
  47.         number.eq(sw).trigger("click");
  48.         },2000);
  49.             })
  50.    
  51. })
  52. </script>
复制代码
在代码中也分为几个部分,让大家清晰明了。其实很简单就是几个参数,几个函数,整个过程就click事件,hover时间,animate方法,setInterval()就可以轻松搞定。在网上看到很多朋友也有分享,后面我会附上很多的html5的新功能,还有w3c标准以及css3的各种新鲜玩意。大家一起交流学习,共同进步。
我是自学er,也没有啥子技术,只是爱好,兴趣使然,可以一步一步的走进去,发现web前端的更深层的东西,每天都在瞻仰大山,攀爬中,早晚有一天会登上高山,然后创造高山。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读

平台简介

六六下载网(666现在.cn),中国最大的电商设计师交流平台。最活跃的电商设计师学习交流分享社区。集原创作品+灵感图库+经验教程+设计专访+设计培训+社群活动为一体,全方位服务电商设计师。成立3年来,聚集20万电商设计师,定期线下设计沙龙,覆盖北京、上海、广州、杭州等城市计

QQ|Archiver|手机版|小黑屋|666下载网 ( 粤ICP备16097146号-5 )|网站地图  

Powered by 金易德.cn! X3.4  © 2014-2018 深圳市龙岗区金易徳贸易商行   增值电信业务经营许可证:粤B2-20140196

返回顶部 返回列表