昨天在网上转悠看到老外一网站的超链接有动画效果,感觉很酷很炫,前几天刚学了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 >

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

转载于:https://www.cnblogs.com/Lewis/archive/2010/04/22/1717982.html

[原创]jQuery插件处女座--超链接滑动动画相关推荐

  1. html首页 slider图片切换效果,jQuery插件Slider Revolution实现响应动画滑动图片切换效果...

    jQuery插件Slider Revolution实现响应动画滑动图片切换效果 2018-12-31 编程之家 https://www.jb51.cc 这是一款非常强大的内容切换插件,它基于jQuer ...

  2. 原创jquery插件treeTable(转)

    由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据. 需求: 1.数据层次分明: 2.数据读取慢.需要动态加载孩子节点: 3.支持默认展开多少层. ...

  3. [原创]jQuery插件Realtime-Modifier正式发布!

    请注意: 该插件将于2012-05-01删除 删除原因: 该插件无存在的意义. 有不需要插件的解决方案. 解决方案: 当鼠标滑过Input的时候, 增加边框样式; 当鼠标划出时, 删掉边框样式. 代码 ...

  4. jq插件处女座 图片轮播

    好久没写博客了,变得好懒呀,无地自容.最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件 ,废话不多说 上代码 (function($) { $.fn ...

  5. 用jquery插件写一个小米官网左侧二级菜单

    知识点:静态布局思路,jquery动态布局,代码格式规范,jquery插件调用, 鼠标滑动二级菜单构建. html代码: <div id="Tz_banner">< ...

  6. 100个优秀jQuery插件精选

    100个优秀jQuery插件精选 在2012年里出现了很多很棒的jQuery插件,如结合CSS3的jQuery动画.强大的支持多设备浏览的响应性布局设计.使用视频作为网页设计背景.jQuery图像幻灯 ...

  7. 推荐60个jQuery插件及使用教程

    jQuery插件jQuery Spin Button自定义文本框数值自增或自减 jQuery插件JQuery Pager分页器实现javascript分页功能 jQuery插件FontSizer实现J ...

  8. 精于图片处理的10款jQuery插件

    这篇文章将重点介绍用于图片处理的10个超级jQuery插件,可以生成图片的动画和特效,缩放图片大小等等. 1.AJAX-ZOOM 这个插件非常有趣,可以用来缩放图片,旋转对象(3D特效).查看demo ...

  9. jQuery Easing 动画效果扩展--使用Easing插件,让你的动画更具美感。

    jQuery  Easing 是一款比较老的jQuery插件,在很多网站都有应用,尤其是在一些页面滚动.幻灯片切换等场景应用比较多.它非常小巧,且有多种动画方案供选择,使用简单,而且免费. 引入Eas ...

最新文章

  1. 数据库锁解决并发问题
  2. Angular jasmine单元测试框架里describe的实现原理
  3. inception mysql 审核_mysql 审核引擎 goInception 的基本使用
  4. 模板引擎的简单原理template
  5. 电芯容量在前期循环中容量增加_锂离子电池容量“跳水”背后元凶找到了!——非均匀压力...
  6. java经典源码 阅读_公开!阿里甩出“源码阅读指南”,原来源码才是最经典的学习范例...
  7. Centos Linux 下Pycharm 安装
  8. 日历 C语言算法,【求助】万年历算法
  9. mac 修改idea 占用内容_mac之idea卡顿修改内存设置
  10. leetcode【链表—中等】707.设计链表
  11. Ubuntu中禁用触摸板
  12. 结构体复数相乘c语言,复数乘法中的结构体赋值实现代码
  13. Rust实现:从一组纸牌中挑选Winner纸牌
  14. 酷睿i5 1240p什么水平 i5 1240p参数 i51240p是标压还是低压
  15. java 编辑PDF 文件,或者填充数据
  16. maven基础:mvn命令常用参数整理;如:-am构建指定模块,同时构建指定模块依赖的其他模块
  17. CSUST 2007 我爱吃烧烤 (状压dp)
  18. 那堪春景媚,送君千万里
  19. 三毛面经-MySql面试经历
  20. 解决Python安装第三方库太慢的问题

热门文章

  1. 高德地图开发(四、点聚合)
  2. E440(20C5000T00)简评,拆机图片,安装NGFF固态硬盘
  3. CSS基础知识(五):水平居中和垂直居中
  4. 苹果id被停用_苹果 ID 被停用怎么办?
  5. sqlServer如何实现分页查询
  6. 惟客数据李柯辰:数字化客户经营的基础、核心与方法|2022全球数字价值峰会
  7. 智慧园区解决方案,快递管家助力达实大厦快递物流管理数智化升级
  8. 2022-07-15:一开始有21个球,甲和乙轮流拿球,甲先、乙后, 每个人在自己的回合,一定要拿不超过3个球,不能不拿。 最终谁的总球数为偶数,谁赢。 请问谁有必胜策略。 来自微众。人工智能岗。
  9. Python 注释详解[学习 Python 必备基础知识][看此一篇就够了]
  10. 新老手都值得关注的Flink关键技术解析与优化实战