JS基本动画

一、需求

基本动画 整个div宽度330px,上边距为25px,居中。
每一个按钮要求:
• 宽100px
• 高100px
• 背景颜色:#3498db
• 字体颜色:#ffffff
• 边框为2px的白色实线
• 上边距为10px
• 左边距为5px
悬浮状态时鼠标显示的是手的形状。
鼠标悬浮状态时,各个按钮的样式如下:
* 所有的效果都要有过渡动画
1. 高亮:背景颜色为白色,字体颜色:#3498db。
2. 淡出:字体颜色:#009999,透明度为0.5。
3. 放大:字体颜色:#009999,边框颜色:#009999,透明度为0.5,通过2D转换,宽高都为原来的2倍。
4. 聚焦:各边边框的宽度均为20px。
5. 旋转:元素顺时针旋转90度。
6. 展开:高度为10px。
7. 收缩:通过2D转换,宽高都为原来的一半。
8. 挤压:通过2D转换,宽为原来的1.5倍,高为原来的一半。
9. 变形:通过2D转换,围绕x轴把元素翻转40度,围绕y轴翻转40度。

二、实现代码

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    function HighLight(nWord) {
        if (nWord != '') {
            var keyword = document.body.createTextRange();
            while (keyword.findText(nWord)) {
                keyword.pasteHTML("<span style='color:red;'>" + keyword.text + "</span>");
                keyword.moveStart('character', 1);
            }
        }
    }

    function highword(nWord) {
        var array = nWord.split(",");
        for (var i = 0; i < array.length; i++) {
            HighLight(array[i]);
        }
    }
</script>
<style>
    .father {
        width: 330px;
        height: 100%;
        margin-top: 25px;
        display: flex;
        background-color: black;
    }

    button {
        height: 100px;
        width: 100px;
        background-color: #3498db;
        color: #ffffff;
        border: 2px solid white;
        margin-top: 10px;
        margin-left: 5px;
        cursor: pointer;
        transition: all 2s;
    }
</style>

<body>
    <div class="father">
        <button id="s1">1</button>
        <button id="s2">2</button>
        <button id="s3">3</button>
        <button id="s4">4</button>
        <button id="s5">5</button>
        <button id="s6">6</button>
        <button id="s7">7</button>
        <button id="s8">8</button>
        <button id="s9">9</button>
    </div>
    <script>
        document.getElementById("s1").onmouseover=function(){
            document.getElementById("s1").style.background="white"
            document.getElementById("s1").style.color="#3498db"
        }

        document.getElementById("s2").onmouseover=function(){
            document.getElementById("s2").style.opacity="0.5"
            document.getElementById("s2").style.color="#009999"
        }

        document.getElementById("s3").onmouseover=function(){
            document.getElementById("s3").style.transform="scale(2, 2)"
            document.getElementById("s3").style.border="2px solid #009999"
            document.getElementById("s3").style.color="#009999"
            document.getElementById("s3").style.opacity="0.5"
        }
        
        document.getElementById("s4").onmouseover=function(){
            document.getElementById("s4").style.border="20px solid white"
        }

        document.getElementById("s5").onmouseover=function(){
            document.getElementById("s5").style.transform="rotate(90deg)"
        }

        document.getElementById("s6").onmouseover=function(){
            document.getElementById("s6").style.height="10px"
        }

        document.getElementById("s7").onmouseover=function(){
            document.getElementById("s7").style.transform="scale(0.5, 0.5)"
        }

        document.getElementById("s8").onmouseover=function(){
            document.getElementById("s8").style.transform="scale(1.5, 0.5)"
        }

        document.getElementById("s9").onmouseover=function(){
            document.getElementById("s9").style.transform="rotatex(40deg)"
            document.getElementById("s9").style.transform="rotatey(40deg)"
        }
    </script>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值