• js轮播图特效


    前言

    轮播图一般是广告区域使用,可定时切换,暂停。以下是原生js写的一个demo

    html代码块

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>js轮播</title>
        <link rel="stylesheet" type="text/css" href="css/css.css">
    </head>
    <body>
        <div class="main" id="main">
            <div class="banner" id="banner">
                <a href="">
                    <div class="banner-slide slide1 slide-active "></div>
                </a>
                <a href="">
                    <div class="banner-slide slide2"></div>
                </a>
                <a href="">
                    <div class="banner-slide slide3"></div>
                </a>
            </div>
            <a class="button prev" id="prev"></a>
            <a class="button next" id="next"></a>
            <div class="dots" id="dots">
                <span class="active"></span>
                <span></span>
                <span></span>
            </div>
        </div>
        <script type="text/javascript" src="js/banner.js"></script>
    </body>
    </html>

    css代码块

    *{
        margin: 0;
        padding: 0;
        font-family: '微软雅黑';
    }
    .main{
        width: 1200px;
        height: 460px;
        margin: 30px auto;
        position: relative;
    }
    .banner{
        width: 1200px;
        height: 460px;
        overflow: hidden;
    }
    .banner-slide{
        width: 1200px;
        height: 460px;
        float: left;
        display: none;
        background-repeat: no-repeat;
    }
    .slide-active{
        display: block;
    }
    .slide1{
        background-image: url("../img/bg1.jpeg");
    }
    .slide2{
        background-image: url("../img/bg2.jpeg");
    }
    .slide3{
        background-image: url("../img/bg3.jpeg");
    }
    .button{
        width: 40px;
        height: 80px;
        background: url("../img/arrow.png") center center no-repeat;
        position: absolute;
        left: 0px;
        top: 50%;
        margin-top: -40px;
        transform: rotate(180deg);
    }
    .next{
        left: auto;
        right: 0px;
        transform: rotate(0deg);
    }
    .button:hover{
        background-color: #333;
        opacity: 0.8;
        cursor: pointer;
    }
    .dots{
        position: absolute;
        right: 24px;
        line-height: 12px;
        bottom: 24px;
    }
    .dots span{
        width:12px;
        height: 12px;
        border-radius: 50%;
        display: inline-block;
        background-color: rgba(7,17,27,0.4);
        margin-left: 8px;
        box-shadow: 0 0 0 2px rgba(255,255,255,0.8) inset;
        cursor: pointer;
    }
    
    .dots span.active{
        background-color: #fff;
        box-shadow: 0 0 0 2px rgba(7,17,27,0.4) inset;
    }

    js代码块

    var index = 0,
        prev = document.getElementById("prev"),
        next = document.getElementById("next"),
        timer = null,
        main = document.getElementById("main"),
        dots = document.getElementById("dots").getElementsByTagName("span"),
        pics = document.getElementById("banner").getElementsByTagName("div"),
        size = pics.length;
    
    function changeImg() {
        for (var i = 0; i < size; ++i){
            pics[i].style.display = "none";
            dots[i].className = "";
        }
        pics[index].style.display = "block";
        dots[index].className = "active";
    }
    
    next.addEventListener("click",function () {
        index++;
        if (index >= size){
            index = 0;
        }
        changeImg();
    },true);
    
    prev.addEventListener("click",function () {
        index--;
        if (index < 0){
            index = size - 1;
        }
        changeImg();
    },true);
    
    for (var d = 0; d < size; ++d){
        dots[d].setAttribute("tid",d);
        dots[d].addEventListener("click",function () {
            index = this.getAttribute("tid");
            changeImg();
        },true);
    }
    function startAutoPlay() {
        timer = setInterval(function () {
            index++;
            if (index >= size){
                index = 0;
            }
            changeImg();
        },3000);
    }
    function stopAutoPlay() {
        if (timer){
            clearInterval(timer);
        }
    }
    
    main.addEventListener("mouseover",function () {
        stopAutoPlay();
    },true);
    
    main.addEventListener("mouseout",function () {
        startAutoPlay();
    },true)
    
    startAutoPlay();

    主要原理就是用js的id获取到对象,进行隐藏,清除和显示操作。适合初学js入门练习

  • 相关阅读:
    非常实用的php各种文件操作函数
    两个自用的Dota2 自走棋辅助工具:阵容模拟器与UI Mod插件
    Scratch 数字游戏
    初识Scratch 3.0
    何时重头来
    cocos2d-x 3.0 Armature jsb 初体验
    cocosbuilder中的Callbacks和sound effects
    cocos2dx js文件加密为jsc文件
    cocos2dx jsb 在IOS与安卓下的一些不同之处
    安卓打包记录
  • 原文地址:https://www.cnblogs.com/dslx/p/16008935.html
Copyright © 2020-2023  润新知