javascript - 有个html轮换样式的需求,不知道怎么用js实现,求解。
阿神
阿神 2017-04-11 12:01:11
[JavaScript讨论组]

是这样的,我要在li中不停的轮换样式,求实现方法,我不知道怎么处理超过第4个时补到最前面的实现,求指点!
循环开始时 currentIndex = 0 (指针),itemLens = 4(数据条数)
1.第一次循环
if(currentIndex >= itemLens){

currentIndex = 0

}





  • currentIndex++

    2.第二次循环





  • currentIndex++

    3.第三次循环





  • currentIndex++

    4.第三次循环





  • currentIndex++

    补充一下框架代码

    
    
    
        
        
        
        Document
    
    
    

    阿神
    阿神

    闭关修行中......

    全部回复(3)
    巴扎黑

    我水平不高,代码写的不好,但是我觉这应该是你要效果

    <!doctype html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            .li-01 {
                color: red;
            }
            .li-02 {
                color: green;
            }
            .li-03 {
                color: blue;
            }
            .li-04 {
                color: yellow;
            }
    
        </style>
    </head>
    
    <body>
        <p class="farm-current">
            <ul>
                <li>aaa</li>
                <li>bbb</li>
                <li>ccc</li>
                <li>ddd</li>
            </ul>
        </p>
        <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
        <script>
        $(function() {
            var timer = null;
            var $items = $('.farm-current').find('li');
            var itemsLen = $items.length;
            var arr = ['li-01', 'li-02', 'li-03', 'li-04'];
            var currentIndex = 0;
            timer = setInterval(function() {
                move($items)
            }, 1000);
    
            // init class
            function pushClass() {
                $.each($items, function(index, ele) {
                    $(this).addClass(arr[index]);
                }); 
            }
    
            function move() {
                var temp = arr.pop();
                arr.unshift(temp);
                $.each($items, function(index, ele) {
                    $(this).removeClass().addClass(arr[index]);
                }); 
            }
            pushClass();
        });
        </script>
    </body>
    
    </html>
    
    ringa_lee
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <style>
        .li-01,.li-02,.li-03,.li-04{ width:100px; height:50px;}
        .li-01{ background:greenyellow;}
        .li-02{ background:deeppink;}
        .li-03{ background:lightsalmon;}
        .li-04{ background:indigo;}
    </style>
    <body>
    <p class="farm-current">
        <ul>
            <li class="li-01"></li>
            <li class="li-02"></li>
            <li class="li-03"></li>
            <li class="li-04"></li>
        </ul>
    </p>
    <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $(function(){
            var timer = null;
            var $items = $('.farm-current').find('li');
            var arr = ['li-01', 'li-02', 'li-03', 'li-04'];
            timer = setInterval(function(){
                move($items)
            }, 1000);
    
            function move($items){
                var temp = arr.pop();
                arr.unshift(temp);
                $items.each(function(index){
                    $(this).removeClass().addClass(arr[index]);
                });
            }
        })
    </script>
    </body>
    </html>
    大家讲道理

    殊途同归:

    $(function(){
    
        setInterval(function(){
    
            var $items = $('.farm-current li');
        
            $items.last().insertBefore($items.first());
        
        }, 1000);
    
    })
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号