jquery 动画

jQuery 中得事件和动画


首先,javascript 和html之间的交互是通过用户和浏览器操作页面时引发的事件来处理的
当文档或者某个其他的你、某个元素发生其他的变化或是操作时候,浏览器就会自动生成一个事件


简单的绑定事件bind()


合成事件 jquery有两个合成事件----hover()方法和toggle方法
hover方法用于模拟光标悬停的事件效果
语法的结构为hover(enter,leave);
当鼠标移动上去时执行enter函数,当离开时执行第二个函数leave


jquery中得动画效果,
常见的hide和show方法是最基本的动画方法


用jquery做动画效果要在标准模式下,否则可能会引起动画的抖动标准模式也就是其包含如下dtd文件


与show方法不同的是fadeIn和fadeOut方法是改变元素的不透明度知道消失dadeIn正好相反。我们只想改变元素的不透明度
而不想改变高度就可以使用fadeOut方法


slideUp和slideDown方法自会改变元素的高度,当调用slideDown方法这个元素由上之下的延伸
知道其全部显示而slideUp正好相反


jquery中任何动画的效果都可以设置三中速度参数,分别为slow  normal first


分别为0.6 0.4 和0.2 如果用速度关键字就要加引号,如果是数值的话就不用加




自定义动画的animate


前面讲得三种方法,show和hide方法只改变元素的样式属性,而fadeIn和fadeOut只改变他的透明度而slideUp
和slideDown只改变元素的高度很多的情况下都没法满足我们的需求


那么我们就需要运用些高级之定义的动画效果来解决这些问题,就是animate


首先他的语法结构为
animate (params,speed,callback)
三个参数的说明:params是一个包含样式属性值的映射{“style”,"value"}
speed是速度参数再就是callback是在完成动画的时候执行的函数


在例子中要想吧隐藏改为自己想要的css("border","5px solid blue")样式的话
直接将fadeDown改为css方法斌不能达到预期的效果,在刚开始动画的时候css方法就被
执行了,这个为问题的的原因在意css并不会被加入到动画的队列当中,而是立即执行
在这里我们可以使用回调函数,对非动画元素实现排队吧css方法写入最后的一个回调函数里面就行了

改为function(){$(this).css("")}


<div class="dong" style=" width:100px; height:100px; background:#666; cursor:pointer; position:relative"></div>


 <script>
 $(function(){
$(".dong").css("opacity","0.5");
$(".dong").click(function(){
$(this).animate({"left":"200px","height":"300px","opacity":"1"},1000).animate({"left":"0px","height":"100px"},1000)
,function(){$(this).css({"background":"#03F","border":"solid 1px #ccc"})}

})
 
})
 
 </script>


callback回调函数适用jquery所有的动画中


停止动画和判断动画是否处于动画状态stop方法


动画的方法概括


首先是基本动画方法,show hide 再就是渐变fadeIn和fadeOut
然后就是高度变化的slideDOwn和slideUp
最后到自定义动画的animate 然后就是交互效的实现分别是fadeTo()改变透明度
toggle()用来代替show和hide 是一个交互方法 slideToggle()用来代替slideUp和slideDown改变交互时候的高度
animate可以代替所有的动画
$("p").animate({"height":"show","width":"show","opacity":"show"},400);
等同于("p").show(400);


动画队列
当一个animate方法中运用多个属性时候,动画是同时发生的。当以链式的方式时是按照顺序发生的
多种元素的动画效果 默认的情况下动画都是同时发生的
当回调的方法应用到动画中时候,动画是按照回调的循序发生的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值