jQuery实现网站导航抖动效果的代码分享
更新:HHH   时间:2023-1-7


今天小编给大家分享的是jQuery实现网站导航抖动效果的代码,相信很多人都不太了解,为了让大家更加了解jQuery实现网站导航抖动效果的代码,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

使用jQuery实现网站导航抖动效果

知识点

1、each遍历节点

2、 animate()自定义动画

代码

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            padding: 0;
            margin: 0;
            list-style: none;
        }
        .box {
            width: 350px;
            height: 350px;
            margin: 100px auto;
            cursor: pointer;
        }
        .box ul li {
            float: left;
            width: 80px;
            height: 80px;
            text-align: center;
            border: 1px solid #ccc;
            box-sizing: border-box;
            margin: 2px;
        }
        .box>ul>li>span {
            display: block;
            width: 24px;
            height: 24px;
            background: url("images/bg.png") 0 -24px no-repeat;
            margin: 10px auto;
        }
    </style></head><body>
    <p class="box">
        <ul>
            <li><span></span>百度</li>
            <li><span></span>淘宝</li>
            <li><span></span>新浪</li>
            <li><span></span>网易</li>
            <li><span></span>搜狐</li>
            <li><span></span>腾讯</li>
            <li><span></span>优酷</li>
            <li><span></span>京东</li>
        </ul>
    </p><script type="text/javascript" src="lib/jquery-3.3.1.js"></script><script type="text/javascript">
    $(function () {
        // 1. 展示图片
        var $li = $('.box>ul>li');
        $li.each(function (index, value) {
            $(this).children('span').css({
                'background': ' url("images/bg.png") 0 -' + index * 24 + 'px no-repeat'
            })
        });

        // 2. 抖动动画
        $li.hover(function () {
            shake(this);
        }, function () {
            // 停止抖动
            stopShake(this);
        });


        function shake(ele) {
            // 1. 设置css
            $(ele).css({
               'position': 'relative'
            });

            // 2. 确定走动的值
            var animateLeft = $(ele).css('left') === '10px' ? '-10px' : '10px';
            $(ele).animate({
                left: animateLeft            }, 100, function () {
                shake(ele);
            });
        }

        function stopShake(ele) {
            $(ele).stop(true, false).css({
                left: '0'
            })
        }
    });</script></body></html>

运行结果

鼠标放上后会不停抖动

            // 停止抖动
            stopShake(this);
        });


        function shake(ele) {
            // 1. 设置css
            $(ele).css({
               'position': 'relative'
            });

            // 2. 确定走动的值
            var animateLeft = $(ele).css('left') === '10px' ? '-10px' : '10px';
            $(ele).animate({
                left: animateLeft            }, 100, function () {
                shake(ele);
            });
        }

        function stopShake(ele) {
            $(ele).stop(true, false).css({
                left: '0'
            })
        }
    });</script></body></html>

运行结果

鼠标放上后会不停抖动

关于jQuery实现网站导航抖动效果的代码就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

返回web开发教程...