[原创]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>

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

原文地址:https://www.cnblogs.com/Lewis/p/1717982.html