昨晚用jQuery写了一个轮播图

本文介绍了一个使用计时器、数组和鼠标事件实现的轮播图功能,包括自动播放、鼠标交互控制和小圆点导航。通过HTML、CSS和jQuery代码,实现了图片自动轮播、鼠标悬停停止及切换图片等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整个思路用到了计时器,数组,鼠标移入移出事件,鼠标点击事件。

下面是启动运行的效果图,他会每隔一秒换一张图片 ,当然这个时间间隔可以自己定

当鼠标放到图片上时会自动显示左右箭头,轮播不受影响,离开则左右箭头消失

 当鼠标悬停在左右箭头上时,会自动停止轮播,鼠标离开则自动开始轮播,当鼠标点击左右箭头时会自动切换上一张图片或者下一张图片,

 

当鼠标悬停在小圆点数字上时会自动切换到对应的图片,离开则继续自动轮播,如果鼠标悬浮在第2个小圆点上再离开,那么下一张要显示的图片就是小圆点3对应的图片,依此顺序

下面附一张项目结构图

下面是HTML代码 ,包括一个6个小数字,两个左右箭头,左右箭头是大于号和小于号

<body>
<div class="adver">
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ul>
    <div class="arrowLeft"><</div>
    <div class="arrowRight">></div>
</div>

下面是CSS代码

ul, li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.adver {
    margin: 0 auto;
    width: 700px;
    overflow: hidden;
    height: 454px;
    position: relative;
    background: url("../images/adver01.jpg");

}

ul {
    position: absolute;
    bottom: 10px;
    z-index: 100;
    width: 100%;
    text-align: center;
}

ul li {
    display: inline-block;
    font-size: 10px;
    line-height: 20px;
    font-family: "微软雅黑";
    margin: 0 1px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #333333;
    text-align: center;
    color: #ffffff;
}

.arrowLeft, .arrowRight {
    position: absolute;
    width: 30px;
    background: rgba(0, 0, 0, 0.2);
    height: 50px;
    line-height: 50px;
    text-align: center;
    top: 200px;
    z-index: 150;
    font-family: "微软雅黑";
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    display: none;
}

.arrowLeft {
    left: 10px;
}

.arrowRight {
    right: 10px;
}

li:nth-of-type(1) {
    background: orange;
}

下面是js,jQuery代码

<script>
    var images = ["adver01.jpg", "adver02.jpg", "adver03.jpg", "adver04.jpg", "adver05.jpg", "adver06.jpg"];
    var liNum = document.getElementsByTagName("li"); //获取所有li标签
    var index = 0; //图片下标
    var indexLi = 1;  //li位置
    var time = null; //计时

    /**
     * 图片自动轮播
     */
    function autoPlay() {
        time = setInterval("timer()", 1000);
    };


    /**
     * 图片停止轮播
     */
    function stopPlay() {
        clearInterval(time);
    };

    $(function () { //页面加载时图片开始轮播
        autoPlay();
    });
    $("ul>li").mousemove(function () { //鼠标悬浮li时停止轮播
        stopPlay();
        var $biu = $(this).index(); //获取当前悬停的li标签的下标
        for (var i = 0; i < liNum.length; i++) {//遍历集合用获取到的下标做匹配
            if ($biu == i) {
                index = i;
                indexLi = i + 1;
                $(".adver").css({"background": "url(images/" + images[index] + ")"});
                $("li:nth-of-type(" + indexLi + ")").css({"background": "orange"});
                $("li:nth-of-type(" + indexLi + ")").siblings().css({"background": "#333333"});

            }
        }


    }).mouseout(function () { //鼠标离开li时调用自动轮播函数
        autoPlay();
    });

    $(".adver").mouseover(function () { //鼠标移入显示左右箭头
        $(".arrowLeft").show();
        $(".arrowRight").show();
    }).mouseout(function () {  //鼠标移出隐藏左右箭头
        $(".arrowLeft").hide();
        $(".arrowRight").hide();
    });
    /**
     * 当鼠标悬停在左箭头时停止轮播
     */
    $(".arrowLeft").mouseover(function () {
        stopPlay();
    }).mouseout(function () {  //离开时继续轮播
        autoPlay();
    });
    $(".arrowRight").mouseover(function () { //当鼠标悬停在右箭头时停止轮播
        stopPlay();
    }).mouseout(function () { //离开时继续轮播
        autoPlay();
    });

    $(".arrowLeft").click(function () { //点击左箭头切换上一张图片
        if (index == 0) {
            index = 5;
            indexLi = 6;
        } else {
            index--;
            indexLi--;
        }
        $(".adver").css({"background": "url(images/" + images[index] + ")"});
        $("li:nth-of-type(" + indexLi + ")").css({"background": "orange"});
        $("li:nth-of-type(" + indexLi + ")").siblings().css({"background": "#333333"})
    });
    $(".arrowRight").click(function () { //点击右箭头切换下一张图片
        if (index == images.length - 1) {
            index = 0;
            indexLi = 1;
        } else {
            index++;
            indexLi++;
        }
        $(".adver").css({"background": "url(images/" + images[index] + ")"});
        $("li:nth-of-type(" + indexLi + ")").css({"background": "orange"});
        $("li:nth-of-type(" + indexLi + ")").siblings().css({"background": "#333333"});
    });
    function timer() {
        if (index == 5) {
            indexLi = 1;
            index = 0;
        } else {
            index++;
            indexLi++;
        }
        $(".adver").css({"background": "url(images/" + images[index] + ")"})
        $("li:nth-of-type(" + indexLi + ")").css({"background": "orange"})
        $("li:nth-of-type(" + indexLi + ")").siblings().css({"background": "#333333"})
    };


</script>

到此就结束了

 

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值