关于jQuery配合CSS3实现背景图片滑动实例

通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。

如需在 CSS3 中创建动画,您需要学习 @keyframes 规则。

@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。下面是一个改变背景图片定位的一个动画效果,首先是定义动画:

 /*定义名为slide-bkg动画*/
        @keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-moz-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-khtml-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-webkit-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-o-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }

前缀为浏览性兼容性处理,IE10以前浏览器不支持CSS3动画效果,下面为调用动画效果。

 .active-state{
            background-image: url("images/active-state.png");
            background-repeat: no-repeat;
            background-position: 0 55px;
            animation: slide-bkg 0.2s;
            -moz-animation: slide-bkg 0.2s;	/* Firefox */
            -webkit-animation: slide-bkg 0.2s;	/* Safari 和 Chrome */
            -o-animation: slide-bkg 0.2s;	/* Opera */
        }

至此就将动画绑定在了选择器上了。整体页面请看下面代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>综合练习</title>
    <style>
        * {
            margin: 0px;
        }

        .container {
            width: 100%;
            height: 100px;
            background-color: #181818;
        }

        .container .logo {
            width: 350px;
            height: 100px;
            background-color: #28b865;
            margin-left: 200px;
            color: #ffffff;
            line-height: 100px;
            float: left;
        }

        .container .logo img {
            margin: 7px 20px;
            float: left;
        }

        .container .nav {
            width: 750px;
            height: 100px;
            line-height: 100px;
            float: right;
            margin-right: 200px;
        }

        .container .nav ul {
            float: right;
            color: white;
            list-style: none;
            font-size: 24px;
        }

        .container .nav li {
            float: left;
            margin: 10px 10px;
            /*border: #28b865 1px solid;*/
            cursor: pointer;
            z-index: 1;
        }

        .container .nav li a {
            display: block;
            width: 139px;
            height: 80px;
            line-height: 80px;
            text-align: center;
            text-decoration: none;
            color: white;
            z-index: 3;
        }
        .active-state{
            background-image: url("images/active-state.png");
            background-repeat: no-repeat;
            background-position: 0 55px;
            animation: slide-bkg 0.2s;
            -moz-animation: slide-bkg 0.2s;	/* Firefox */
            -webkit-animation: slide-bkg 0.2s;	/* Safari 和 Chrome */
            -o-animation: slide-bkg 0.2s;	/* Opera */
        }
        /*定义名为slide-bkg动画*/
        @keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-moz-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-khtml-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-webkit-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }
        @-o-keyframes slide-bkg {
            from{background-position: 0 0;}
            to{background-position: 0 55px;}
        }

    </style>
</head>
<body>
<div class="container">
    <div class="logo">
        <img src="images/templatemo_logo.png">
        <h2>综合练习</h2>
    </div>
    <div class="nav">
        <ul>
            <li  class="active-state"><a href="#">主页</a></li>
            <li><a href="#">服务</a></li>
            <li><a href="#">产品</a></li>
            <li><a href="#">联系我们</a></li>
        </ul>
    </div>

</div>
<script src="JS/jquery-3.1.1.min.js"></script>
<script src="JS/animateBackground-plugin.js"></script>
<script>
    $(document).ready(function () {
        $(".nav ul li").on("click",function () {
            $(this).addClass("active-state").siblings().removeClass("active-state");
        })
    })
</script>
</body>
</html>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值