jQuery如何实现网站导航抖动效果?(附代码)

jQuery如何实现网站导航抖动效果?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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

知识点

1、each遍历节点

2、 animate()自定义动画

代码

<!DOCTYPE html>
<html>
<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-600") 0 -24px no-repeat;
    margin: 10px auto;
}
</style>
</head>
<body>
<div>
<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>
</div>

<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-600") 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>

运行结果

鼠标放上后会不停抖动

1.png-600

2.png-600

更多web前端知识,请查阅 HTML中文网 !!

以上就是jQuery如何实现网站导航抖动效果?(附代码)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » jQuery 答疑