jqanimate源码(jquery项目源码)
本文目录一览:
- 1、jQuery实现的导航动画效果(附demo源码)
- 2、JQUERY的动画animate代码怎么控制它的速度
- 3、jquery中的animate动态效果是如何通过Js实现的?
- 4、用JQ的animate()写一段点击图片,图片向右移动的代码,最好可完美运行的代码
jQuery实现的导航动画效果(附demo源码)
本文实例讲述了jQuery实现的导航动画效果。分享给大家供大家参考,具体如下:
经常在网上看到的,鼠标在导航上移动时,导航底部的横条会自动移动到鼠标悬浮的导航项上。
效果如下图:
利用jquery的
animate
函数,很好实现。代码很简单!
代码如下:
!DOCTYPE
html
html
head
meta
charset="utf-8"
title测试/title
script
src="jquery-1.9.1.min.js"/script
/head
body
div
class="39e6-e512-c3f7-66de nav"
style="margin:
100px
auto;
width:960px;"
a
class="e512-c3f7-66de-2b6f active"
href="#"首页/a
a
href="#"产品/a
a
href="#"新闻中心/a
a
href="#"关于我们/a
a
href="#"联系我们/a
a
href="#"首页/a
a
href="#"首页/a
div
class="c3f7-66de-2b6f-201b line"/div
/div
style
.nav{
position:relative;
}
.nav
a{
padding:10px
20px;
border-bottom:solid
3px
#fff;
text-decoration:
none;
color:#666;
}
.nav
a:hover{
color:#66f;
}
.nav
.active,
.nav
.active:hover{
color:#f33;
}
.nav
.line{
position:absolute;
border-top:solid
2px
red;
width:0;
left:0;
top:0;
}
/style
script
function
navLine(o,
bo)
{
var
x
=
''
+
(o.position().top
+
o.outerHeight()
-
2)
+
'px';
var
y
=
''
+
o.position().left
+
'px';
var
w
=
''
+
o.outerWidth()
+
'px';
var
h
=
'2px';
$('.nav
.line').stop();
if
(bo)
{
$('.nav
.line').css({width:w,
height:h,
top:x,
left:y});
}
else
{
$('.nav
.line').animate({width:w,
height:h,
top:x,
left:y});
}
}
$(function(){
navLine($('.nav
.active'),
true);
$('.nav
a').hover(function(){
navLine($(this));
},
function(){
navLine($('.nav
.active'));
});
});
/script
/body
/html
完整实例代码点击此处本站下载。
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
JQUERY的动画animate代码怎么控制它的速度
1、首先双击打开HBuilderX工具,新建一个HTML5页面,并引入jquery文件,如下图所示。
2、在body/body标签元素内,插入一个label和button,如下图所示。
3、保存代码并打开浏览器,预览页面效果结果出现报错。
4、检查代码发现,按钮点击事件,调用animate,这里的样式属性需要使用驼峰结构。
5、再次保存代码并在浏览器查看打印结果,结果发现animated不是函数。
6、返回到HBuilderX工具,修改代码animate,这样就完成了。
jquery中的animate动态效果是如何通过Js实现的?
你可以看下jquery的源代码,
animate: function( prop, speed, easing, callback ) {
var empty = jQuery.isEmptyObject( prop ),
optall = jQuery.speed( speed, easing, callback ),
doAnimation = function() {
// Operate on a copy of prop so per-property easing won't be lost
var anim = Animation( this, jQuery.extend( {}, prop ), optall );
// Empty animations, or finishing resolves immediately
if ( empty || jQuery._data( this, "finish" ) ) {
anim.stop( true );
}
};
doAnimation.finish = doAnimation;
return empty || optall.queue === false ?
this.each( doAnimation ) :
this.queue( optall.queue, doAnimation );
}
jQuery.speed = function( speed, easing, fn ) {
var opt = speed typeof speed === "object" ? jQuery.extend( {}, speed ) : {
complete: fn || !fn easing ||
jQuery.isFunction( speed ) speed,
duration: speed,
easing: fn easing || easing !jQuery.isFunction( easing ) easing
};
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
// normalize opt.queue - true/undefined/null - "fx"
if ( opt.queue == null || opt.queue === true ) {
opt.queue = "fx";
}
// Queueing
opt.old = opt.complete;
opt.complete = function() {
if ( jQuery.isFunction( opt.old ) ) {
opt.old.call( this );
}
if ( opt.queue ) {
jQuery.dequeue( this, opt.queue );
}
};
return opt;
}
用JQ的animate()写一段点击图片,图片向右移动的代码,最好可完美运行的代码
img src="xxx" id="img" /
$("#img").click(function(){
$(this).animate({left: '+20px'}, "slow");
});