• 轮播图的两种方法


    轮播图共计四种方法,本期先向大家分享两种,下期会补充剩余二个方法

    公共部分:

    1. * {
    2. padding: 0px;
    3. margin: 0px;
    4. }
    5. .banner {
    6. width: 600px;
    7. margin: auto;
    8. border: 10px solid green;
    9. height: 350px;
    10. position: relative;
    11. /* overflow: hidden; */
    12. }
    13. .imgList img {
    14. width: 600px;
    15. height: 350px;
    16. }
    17. .imgList {
    18. position: absolute;
    19. }
    20. .imgList li {
    21. float: left;
    22. margin-right: 20px;
    23. list-style: none;
    24. }
    25. .circle {
    26. position: absolute;
    27. bottom: 15px;
    28. left: 50%;
    29. transform: translateX(-50%);
    30. }
    31. .circle a {
    32. width: 15px;
    33. height: 15px;
    34. background: green;
    35. display: block;
    36. border-radius: 50%;
    37. opacity: .8;
    38. float: left;
    39. margin-right: 10px;
    40. }
    41. .circle a.hover {
    42. background: black;
    43. opacity: .7;
    44. }
    45. .hover{
    46. background-color:red;
    47. }

    HTML内容部分:
     

    1. <div class="banner">
    2. <ul class="imgList">
    3. <li><img src="banner/1.png" /></li>
    4. <li><img src="banner/2.jpg" /></li>
    5. <li><img src="banner/3.jpg" /></li>
    6. <li><img src="banner/4.jpg" /></li>
    7. </ul>
    8. <div class="circle">
    9. </div>
    10. </div>

    第一种方法的js内容:

        var imgList = document.querySelector('.imgList');
                var banner = document.querySelector('.banner');
                var circle = document.querySelector('.circle');

                //获取轮播图图片的长度  每个图片的宽度为620px  并将整体的宽度值赋给ul;
                window.οnlοad=function(){
                    imgList.style.width = imgList.children.length * 620 + "px";

                    //通过for循环,根据ul子标签的长度,创建相应的a标签个数;
                    for (var i = 0; i < imgList.children.length; i++) {
                        var aNub = document.createElement('a');

                        //上面创建好a标签后,我们将建好的a标签放置circle后面依次排列
                        circle.appendChild(aNub);
                        aNub.setAttribute('index', i);        

             
                    }
                    circle.addEventListener('click',function(e){
                      var thisindex =e.target.getAttribute('index');
                      imgList.style.left=-thisindex*620+"px";
                      console.log(e.target.nodeName);
                       if(e.target.nodeName!='A'){

                           //返回false 即 退出操作
                           return false;
                       }

                        // thisIndex = e.target.getAttribute('index');
                        //调用小圆点改变样式的函数
                        // circlechange();
                    })
                } 

    第二种方法的js内容:

        var imgList = document.querySelector('.imgList');
                var banner = document.querySelector('.banner');
                var circle = document.querySelector('.circle');
                var circleA = circle.children;
                var thisIndex = 0;

                //获取轮播图图片的长度  每个图片的宽度为620px  并将整体的宽度值赋给ul;
                window.οnlοad=function(){
                    imgList.style.width = imgList.children.length * 620 + "px";

                    //通过for循环,根据ul子标签的长度,创建相应的a标签个数;
                    for (var i = 0; i < imgList.children.length; i++) {
                        var aNub = document.createElement('a');

                        //上面创建好a标签后,我们将建好的a标签放置circle后面依次排列
                        circle.appendChild(aNub);
                        aNub.setAttribute('index', i);                

        let thisIndex=aNub.getAttribute('index');
                            aNub.οnclick=function(){
                              imgList.style.left=-thisIndex*620+"px";
                            }    

    //为了后面的创建及编写需要,我们再创建一个index属性 
                        // console.log(index);        

    }

  • 相关阅读:
    初识vxlan
    netty系列之:java中的base64编码器
    搜维尔科技:【工业仿真】煤矿安全知识基础学习VR系统
    云服务器与内网穿透有什么区别?哪个好用?
    [附源码]Python计算机毕业设计Django兴达五金日杂批发商店管理系统
    Photoshop 2024(ps ai beta) v25.0
    【Vue】vue2与WebApi跨域CORS问题
    三废的日常--Nginx实现负载均衡
    深度前端性能调优的实际案例-小白都看的懂
    10份重磅报告 — 展望中国数字经济未来
  • 原文地址:https://blog.csdn.net/m0_59505309/article/details/125620695