箭头函数及两种轮播方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了箭头函数及两种轮播方式相关的知识,希望对你有一定的参考价值。

参考技术A <script>

        /* 普通函数 */

        /* function fn()

            return 123

       

        let a = fn();

        console.log(a); */

        /* function fn(str)

        let msg = str + 'hello'

        return msg

       

        let a = fn('张三丰') */

        /* =>箭头函数后面只有一段表达式代表 return 返回 */

        /* let fn = () => 123;

        let a = fn();

        console.log(a); */

        /* 箭头函数只有一个参数()可以省略不写 */

        /* 普通函数可以作为构造函数,箭头函数不能作为构造函数不然会报错 */

        let fn = (str) =>

            let msg = str +'hello'

            return msg

       

        let a = fn('张无忌')

        console.log(a);

        /* 普通函数this谁调用就是谁的,箭头函数没有自己的this,箭头函数的this是上下文环境的this */

        /* let obj1 =

            name:"张三",

            fn:function()

                console.log(this)

           

         

        let obj2 =

            name:"李四",

          */

         /* 普通函数的this可以被call 或apply修改 */

         /* obj1.fn.call(obj2) */

         /* 一个参数都没有箭头不能省略 */

         let obj1 =

            name:"张三",

            fn:()=>

                /* 目前的环境下的this是window */

                console.log(this);

               

         

        let obj2 =

            name:"李四",

         

         obj1.fn()/* this指向window 当前上下文环境

         箭头函数的this不会被call 或者apply 修改 */

         obj1.fn.call(obj2)

    </script>

https://v3.bootcss.com/javascript/#carousel

    <style>

        #lunbo

            width: 600px;

            height: 400px;

            margin:30px auto;

       

    </style>

</head>

<body>

    <h1>首页</h1>

    <div id="lunbo">

        <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">

            <!-- Indicators 指示器 -->

            <ol class="carousel-indicators">

                <!-- <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>

                <li data-target="#carousel-example-generic" data-slide-to="1"></li>

                <li data-target="#carousel-example-generic" data-slide-to="2"></li> -->

            </ol>

            <!-- 主体的图片 -->

            <div class="carousel-inner" role="listbox">

                <!-- <div class="item active">

                    <img style="width: 600px;height: 400px;" src="https://img1.baidu.com/it/u=1436422813,4001806688&fm=253&fmt=auto&app=138&f=JPG?w=936&h=500" alt="...">

                    <div class="carousel-caption">我的小拼</div>

                </div>

                <div class="item">

                    <img style="width: 600px;height: 400px;" src="https://img2.baidu.com/it/u=2356236633,2979184987&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt="...">

                    <div class="carousel-caption">我的小多</div>

                </div>

                <div class="item">

                    <img style="width: 600px;height: 400px;" src="https://img2.baidu.com/it/u=3429472705,3961913284&fm=253&fmt=auto&app=138&f=JPEG?w=580&h=326" alt="...">

                    <div class="carousel-caption">我的小多多</div>

                </div> -->

            </div>

            <!-- Controls 向左 向右控制图片-->

            <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">

                <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>

                <span class="sr-only">Previous</span>

            </a>

            <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">

                <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>

                <span class="sr-only">Next</span>

            </a>

        </div>

    </div>

    <div style="text-align: center;">

        <button onclick="prevFn()">向前</button>

        <button onclick="nextFn()">向后</button>

        <button onclick="pauseFn()">暂停</button>

        <button onclick="goDuo()">跳转19岁女大学生失联</button>

        <button onclick="leftR()">从左到右</button>

    </div>

    <script src="./jquery-1.12.4.js"></script>

    <script src="./bootstrap.min.js"></script>

    <script>

        $('.carousel').carousel(

            interval: 2000

        )

        function prevFn()

            $('.carousel').carousel('prev')

       

        function nextFn()

            $('.carousel').carousel('next')

       

        function pauseFn()

            $('.carousel').carousel('pause')

       

        function goDuo()

            $('.carousel').carousel(1)

       

        function leftR()

            $('.carousel').carousel('cycle')

       

        $.ajax(

            url:"https:调用接口//也可以直接在原文复添加图片地址",

            method:"post",

            data:

                page:1,

                count:5

            ,

            success:res=>

                let result = res

                let str1 = '';

                let str2 = '';

                result.forEach((item,index)=>

                        str1 +=`

                        <li data-target="#carousel-example-generic" data-slide-to="$index"></li>

                        `

                        str2 += `

                        <div class="item ">

                            <a href="$item.path">

                    <img style="width: 600px;height: 400px;" src="$item.image">

                    <div class="carousel-caption">$item.title</div>

                </div>

                        `

                    )

                    $('.carousel-indicators').html(str1)

                    $('.carousel-inner').html(str2)

                    $('.carousel-inner .item:first').addClass('active')

           

        )

    </script>

https://www.swiper.com.cn/usage/index.html

<link rel="stylesheet" href="./swiper-bundle.min.css">

    <style>

        .swiper

            width: 600px;

            height: 300px;

       

        .swiper-slide img

            width: 600px;

            height: 300px;

            display: block;

       

    </style>

</head>

<body>

    <div class="swiper">

        <div class="swiper-wrapper">

            <div class="swiper-slide">

                <img src="https://img0.baidu.com/it/u=3519534124,1254775703&fm=253&fmt=auto&app=138&f=JPG?w=889&h=500" alt="">

            </div>

            <div class="swiper-slide">

                <img src="https://img1.baidu.com/it/u=1037786612,1020382020&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt="">

            </div>

            <div class="swiper-slide">

                <img src="https://img0.baidu.com/it/u=3288667263,3070739640&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281" alt="">

            </div>

        </div>

        <!-- 如果需要分页器 -->

        <div class="swiper-pagination"></div>

        <!-- 如果需要导航按钮 -->

        <div class="swiper-button-prev"></div>

        <div class="swiper-button-next"></div>

        <!-- 如果需要滚动条 -->

        <!-- <div class="swiper-scrollbar"></div> -->

    </div>

    <script src="./swiper-bundle.min.js"></script>

    <script src="./jquery-1.12.4.js"></script>

    <script>

                /* Swiper('对应的类名') */

                var mySwiper = new Swiper('.swiper',

                    // direction: 'vertical', // 垂直切换选项

                    loop: true, // 循环模式选项

                    // 如果需要分页器

                    pagination:

                        el: '.swiper-pagination',

                    ,

                    /* 切换反转效果 */

                    effect: 'cube',

                    /* 自动播放效果 */

                    autoplay:

                        delay: 1000, //1秒切换一次

                    ,

                    // 如果需要前进后退按钮

                    navigation:

                        nextEl: '.swiper-button-next',

                        prevEl: '.swiper-button-prev',

                    ,

                    // 如果需要滚动条

                    // scrollbar:

                    //     el: '.swiper-scrollbar',

                    // ,

                )

    </script>

</body>

jQuery的几种轮播

我们在开发当中经常用到轮播。我在这里总结了一下几种,仅供参考:

第一种:

  1、jQuery:用display :none/block控制的一种轮播;

// CSS部分
#igs {
    margin: 30px auto;
    width: 1200px;
    height: 460px;
    position: relative;
}
         
.ig {
    position: absolute;
}
         
#tabs {
    position: absolute;
    list-style: none;
    background-color: rgba(255,255,255,.5);
    left: 500px;
    bottom: 10px;
    border-radius: 10px;
    padding: 5px 0 5px 5px;
}
         
.tab{
    float: left;
    text-align: center;
    line-height: 20px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    overflow: hidden;
    margin-right: 4px;
    border-radius: 100%;
    background-color: rgb(200,100,150);
}
        
.tab.active{
    background-color: red;
    color: #fff;
}

.btn{
    position: absolute;
    top: 200px;
    width: 40px;
    color: #fff;
    height: 100px;
    background-color: rgba(255,255,255,.3);
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    line-height: 100px;
    border-radius: 5px;
    margin: 0 5px;
}
         
.btn2{
    position: absolute;
    right: 0px;
}
         
.btn:hover{
    background-color: rgba(0,0,0,.7);
}

// HTML部分
        <div id="igs">
              <a class="ig" href="#">1<img src="images/slider-1.jpg"/></a>
              <a class="ig" href="#">2<img src="images/slider-2.jpg"/></a>
              <a class="ig" href="#">3<img src="images/slider-3.jpg"/></a>
              <a class="ig" href="#">4<img src="images/slider-4.jpg"/></a>
              <a class="ig" href="#">5<img src="images/slider-5.jpg"/></a>
              <div class="btn btn1"><</div>
              <div class="btn btn2">></div>
              <ul id="tabs">
                  <li class="tab active">1</li>
                  <li class="tab">2</li>
                  <li class="tab">3</li>
                  <li class="tab">4</li>
                  <li class="tab">5</li>
              </ul>
        </div>

// JavaScript部分
            //定义全局变量和定时器
            var i = 0 ;
            var timer;
             
            $(function(){
                  //用jquery方法设置第一张图片显示,其余隐藏
                  $(‘.ig‘).eq(0).show().siblings(‘.ig‘).hide();
                   
                  //调用showTime()函数(轮播函数)
                  showTime();
               
                  //当鼠标经过下面的数字时,触发两个事件(鼠标悬停和鼠标离开)
                  $(‘.tab‘).hover(function(){
                      //首先清除时间函数
                    clearInterval(timer);
                    //获取当前i的值,调用轮播函数
                    i = $(this).index();
                    Show();
                  },function(){
                       //鼠标离开时开启时间函数
                    showTime();
                  });
               
                //鼠标点击左侧的箭头
                $(‘.btn1‘).click(function(){
                    clearInterval(timer);
                    if(i == 0){
                        //注意此时i的值
                          i = 5;
                    }
                    i--;
                    Show();
                    showTime();
                });
               
                //鼠标点击右侧的箭头
                $(‘.btn2‘).click(function(){
                    clearInterval(timer);
                    if(i == 4){
                        //当图片是最后一张时,点击右箭头,
                          i = -1;
                    }
                    i++;
                    Show();
                    showTime();
                });
            });
             
             
            //创建一个showTime函数
            function showTime(){
                  //设置定时器
                  timer = setInterval(function(){
                    //调用一个Show()函数
                    Show();
                    i++;
                    //当图片是最后一张的后面时,设置图片为第一张
                    if(i == 5){
                          i = 0;
                    }
                  },2000);
            }
             
            //创建一个Show函数
            function Show(){
                  //在这里可以用其他jquery的动画
                  $(‘.ig‘).eq(i).fadeIn(300).siblings(‘.ig‘).fadeOut(300);
               
                  //给.tab创建一个新的Class为其添加一个新的样式,并且要在css代码中设置该样式
                  $(‘.tab‘).eq(i).addClass(‘active‘).siblings(‘.tab‘).removeClass(‘active‘);
            }

 

 

以上是关于箭头函数及两种轮播方式的主要内容,如果未能解决你的问题,请参考以下文章

如何用jquery实现焦点图上下轮播(仅仅用图片不要缩略图), 带上下箭头?

箭头函数

箭头函数

箭头函数 -------JavaScript

箭头函数

箭头函数与普通函数的区别