zoukankan      html  css  js  c++  java
  • javascript 标签轮播

    html

        <div id="banner-switch">
          <!-- 切换内容 -->
            <div class="notice-content">
              <div class="notice-item content-active"><a href="./schoolReport_dl.jsp"><img src="http://www.tfjyzx.com:8089/images/notice/01_ignite.jpg" alt="点亮校园活动" /></a></div>
              <div class="notice-item"><a href="./act-upload.jsp?id=1"><img src="http://www.tfjyzx.com:8089/images/notice/02_writer.jpg" alt="未来小作家征文活动" /></a></div>
              <div class="notice-item"><a href="javascript:;"><img src="http://www.tfjyzx.com:8089/images/notice/03_daren.jpg" alt="校园小达人答题活动" /></a></div>
              <div class="notice-item"><a href="./local_list.jsp?id=2&title=%E6%B4%BB%E5%8A%A8%E6%B5%8B%E8%AF%95"><img src="http://www.tfjyzx.com:8089/images/notice/04_guoxue.jpg" alt="商丘市国学经典诵读大赛" /></a></div>
              <div class="notice-item"><a href="javascript:;"><img src="http://www.tfjyzx.com:8089/images/notice/05_shangqiu.jpg" alt="商丘市第一中学" /></a></div>
            </div>
            <!-- 切换标签 -->
            <div class="notice-title">
                <ul>
                    <li class="title-item title-active"><a href="./schoolReport_dl.jsp">点亮校园活动</a></li>
                    <li class="title-item"><a href="./act-upload.jsp?id=1">未来小作家征文活动</a></li>
                    <li class="title-item"><a href="javascript:;">校园小达人答题活动</a></li>
                    <li class="title-item"><a href="./local_list.jsp?id=2&title=%E6%B4%BB%E5%8A%A8%E6%B5%8B%E8%AF%95">商丘市国学经典诵读大赛</a></li>
                    <li class="title-item"><a href="./page.jsp?school=商丘市第一中学">商丘市第一中学</a></li>
                </ul>
            </div>
        </div>
    

      css:

    /* banner switch */
    #banner-switch {
       1200px;
      height: 320px;
    }
    
    #banner-switch > .notice-title {
      float: left;
       285px;
      height: 295px;
      background-color: #112F49;    
      padding: 10px 20px;  
    }
    
    #banner-switch > .notice-title li {
        height: 50px;
        line-height: 50px;
        margin-top: 5px;
        border-bottom: 1px solid #ccc;        
    }
    
    #banner-switch > .notice-title li:last-child {
      border: none;
    }
    
    #banner-switch a {
      color: #a2a2a2;
      font-size: 16px;
    }
    
    #banner-switch  .title-item.title-active > a {
      color: #ffffff;
    }
    #banner-switch > .notice-content {
        position: relative;
        float: left;    
    }
    
    #banner-switch > .notice-content > .notice-item img {
       900px;
      outline: none;
        -webkit-transition: all .5s;
        -moz-transition: all .5s;
        -ms-transition: all .5s;
        -o-transition: all .5s;
        transition: all .5s;
    }
    
    #banner-switch > .notice-content > .notice-item {    
         900px;
        height: 320px;
        display: none;
    }
    
    #banner-switch > .notice-content > .notice-item.content-active {
      display: block;
    }
    

      javascript:

    function trigger(dom, event) {
        var myEvent = document.createEvent('Event')
        myEvent.initEvent(event, true, true);
        dom.dispatchEvent(myEvent);
    }
    
    function bannerSwitchTabs() {
        var bs = document.getElementById("banner-switch");
        var tabs = bs.querySelectorAll(".title-item"),
            contents = bs.querySelectorAll(".notice-item");
    
        var ts = "title-active",
            cs = "content-active";
        var last = 0; // 上一次选中元素的index
    
        tabs.forEach(function (tab, i) {
            (function (i) {
                tab.addEventListener("mouseover", function () {
    
                    tabs[last].classList.remove(ts);
                    contents[last].classList.remove(cs);
                    last = i;
    
                    this.classList.add(ts);
                    contents[i].classList.add(cs);
                });
            })(i);
        });
        
        var carousel = (function (tabs) {
            var timer = 0, index = 0, size = tabs.length;
            return {
                isPlaying: function() {
                    return timer;
                },
                play: function () {
                    trigger(tabs[index], "mouseover");
                    index = (index + 1) % size;
                    var that = this;
                    timer = setTimeout(function () {
                        that.play();
                    }, 5000);
                },
                cancel: function () {
                    clearTimeout(timer);
                    timer = 0;
                }
            }
        })(tabs);
    
        carousel.play();
    
        bs.onmouseover = function() {
            // console.log(carousel.isPlaying());
            carousel.cancel();        
        }
        bs.onmouseleave = function() {
            // console.log(carousel.isPlaying());
            carousel.play();
        }
    }
    
    bannerSwitchTabs();
    

      

  • 相关阅读:
    重构29-Remove Middle Man(去掉中间人)
    重构30-Return ASAP(尽快返回)
    重构26-Remove Double Negative(去掉双重否定)
    yaml语法学习3
    运行原理探究2
    SpringBoot简介 1
    SpringMVC项目所引用的一切依赖jar包和自定义设置
    2020/07/03 初始mybatis
    json数据格式字符串在java中的转移
    项目中遇到的一些异常
  • 原文地址:https://www.cnblogs.com/mingzhanghui/p/9432066.html
Copyright © 2011-2022 走看看