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

来源:互联网 发布:网络拾音头 编辑:程序博客网 时间:2024/05/16 16:58

通过 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>



0 0