• 【CSS3 + 原生JS】移动的标签


    左图为本博客右侧截取的GIF图,右图为代码效果

    HTML:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>SlideFont</title>
    </head>
    <body>
        <div class="F-SlideFont-Box">
            <dl class="F-SlideFont-Box-Tag">
                <dd class="F-SlideFont-Tag">谷歌</dd>
                <dd class="F-SlideFont-Tag">百度</dd>
                <dd class="F-SlideFont-Tag">阿里</dd>
                <dd class="F-SlideFont-Tag">苹果</dd>
                <dd class="F-SlideFont-Tag">三星</dd>
                <dd class="F-SlideFont-Tag">耳机</dd>
                <dd class="F-SlideFont-Tag">音箱</dd>
                <dd class="F-SlideFont-Tag">电视</dd>
                <dd class="F-SlideFont-Tag">谷歌</dd>
                <dd class="F-SlideFont-Tag">百度</dd>
                <dd class="F-SlideFont-Tag">阿里</dd>
            </dl>
        </div>
    </body>
    </html>

    css:

        <style>
            .F-SlideFont-Box * { margin: 0; padding: 0; border: none; list-style: none; }
            .F-SlideFont-Box { width: 300px; height: 300px; border: 1px black solid; position: relative; }
            .F-SlideFont-Box-Tag { width: 90%; height: 90%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }
            .F-SlideFont-Tag { position: absolute; display: block; padding: 3px 15px; background-color: #0078F7; border-radius: 10%; color: white; transition:all 1s linear; z-index: 0; transition: all .6s; cursor: pointer; }
        </style>

    JS:

    <script src="js/GlunefishLibrary.js"></script>     //  这里引入的是我发过的随随机数
    <script>
    
        var tagObj = document.getElementsByClassName('F-SlideFont-Tag'),
            offset = true;
    
        for(var i=0;i<tagObj.length;i++){
            (function(i){
                tagObj[i].onmouseover = function(){
                offset = false;
                index = parseInt(this.style.zIndex);
                this.style.zIndex = 9999;
                }
                tagObj[i].onmouseout = function(){
                offset = true;
                this.style.zIndex = index;
                }
            })(i);
        }
    
        setInterval(PreSeting,5000)
    
    
        function PreSeting(){
            if(offset){
                for(var i=0;i<tagObj.length;i++){
                    tagObj[i].style.left = F_getSJS(200,20,10)  + 'px';          //F_getSJS() 来自前面引入的 glunefishLibrary.js  , 具体请移步到我之前的取随机数随笔
                    tagObj[i].style.top = F_getSJS(200,20,10) + 'px';
                    tagObj[i].style.backgroundColor = 'rgb(' + F_getSJS(256,-1,5) + ',' + F_getSJS(256,-1,10) + ',' +     F_getSJS(256,-1,15) + ')';
                    tagObj[i].style.zIndex = F_getSJS(200,0,16);
                }
            }
    
        }
    
    
    </script>

    此效果主要通过间隔取两数之间的随机数来改变标签的样式。

    转载请指明出处!
  • 相关阅读:
    javascript设计模式(一)职责链模式China of responsibility
    javascript设计模式(一)策略模式Strategy
    angularjs提示消息弹出框
    Javascript设计模式(一)States
    Javascript设计模式(一)Facade
    NOIP2020
    RMQ & ST表
    NOI Linux
    初赛解析
    贪心大解析
  • 原文地址:https://www.cnblogs.com/GruntFish/p/6890081.html
Copyright © 2020-2023  润新知