zoukankan      html  css  js  c++  java
  • [原创]jQuery插件处女座超链接滑动动画

      昨天在网上转悠看到老外一网站的超链接有动画效果,感觉很酷很炫,前几天刚学了jQuery插件的制作,所以想用这个功能练练手。

      功能:

        当鼠标移到超链接上时,超链接向右缩进并改变样式,鼠标离开时再复原到原来位置。

      实现原理:

        鼠标移到超链接上时,添加mouseover事件,将此行的padding-left向左移动并添加样式,离开后再将padding-left向右移动并将样式还原。还是比较简单的。

      实现代码:

        好了,原理想清楚了,就开始写代码吧。

        

    代码
    (function($){
    $.fn.slide
    = function(options){
    var defaults = {
    sLength :
    10 //缩进长度
    }
    var options = $.extend(defaults,options);

    this.each(function(){
    //var thisObj = $(this);
    //thisObj.find("a").each(function(){
    var className = $(this).attr("class");
    $(
    this).mouseover(function(){
    $(
    this).animate({marginLeft :options.sLength+'px'}, {queue:false, duration:300});

    }).mouseout(
    function(){

    $(
    this).animate({marginLeft :'0px'}, {queue:false, duration:300});

    });
    // });

    });
    };
    })(jQuery);

    插件写好了,那怎么用呢?很简单,比如我要把ul下面的所有a标签都实现滑动效果,滑动长度10px,滑动时的样式为hoverClass,那么只需要这样写:

    $(function(){
    $(
    "ul li a").slide({sLength:10,className:"hoverClass"});
    })

    好了,看看整体代码吧

    代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript" src="/js/jquery-1.3.1.min.js"></script>
    <style type="text/css">
    ul
    {float:left;}
    ul li
    {list-style-type :none;}
    .hoverClass
    {color:red;}
    .oddClass
    {color:black;}
    </style>
    <script type="text/javascript">
    (
    function($){
    $.fn.slide
    = function(options){
    var defaults = {
    sLength :
    10 //缩进长度
    }
    var options = $.extend(defaults,options);
    this.each(function(){

    var className = $(this).attr("class");
    $(
    this).mouseover(function(){
    $(
    this).animate({marginLeft :options.sLength+'px'}, {queue:false, duration:300});
    }).mouseout(
    function(){
    $(
    this).animate({marginLeft :'0px'}, {queue:false, duration:300});
    });

    });
    };
    })(jQuery);
    </script>
    <script>
    $(
    function(){
    $(
    "ul li a").slide({sLength:10,className:"hoverClass"});
    })
    </script>
    </head>
    <body>
    <ul>
    <li><a href="#" class="oddClass">嗨,美女,这是我写的一个jQuery插件! </a></li>
    <li><a href="#" class="oddClass">先想好做个什么功能 </a></li>
    <li><a href="#" class="oddClass">不急着写,先想想实现原理 </a></li>
    <li><a href="#" class="oddClass">一个通用的框架 </a></li>
    <li><a href="#" class="oddClass">名号、参数和属性 </a></li>
    <li><a href="#" class="oddClass">开始下半身吧 </a></li>
    <li><a href="#" class="oddClass">最重要的一步! </a></li>
    <li><a href="#" class="oddClass">ok!来看看一个完整的实例吧! </a></li>
    </ul>
    </body>
    <html>

    好了,完整的超链接滑动动画插件就完成了。

  • 相关阅读:
    CCF201509-3 模板生成系统(100分)
    CCF201509-3 模板生成系统(100分)
    CCF201512-3 画图(100分)
    CCF201512-3 画图(100分)
    CCF201403-3 命令行选项(100分)
    CCF201403-3 命令行选项(100分)
    Java---jdk与jre的区别
    Java--- J2EE、Java SE、Java EE、Java ME 区别
    Java---java ee和j2ee
    Java---null
  • 原文地址:https://www.cnblogs.com/Lewis/p/1717982.html
Copyright © 2011-2022 走看看