关于JQuery animate()方法

html:

        <button>点击我</button>
	<p>如果你想在一个涉及动画的函数之后来执行语句,请使用callback函数</p>

	<div class="panel"></div>
	<div class="content"></div>    

css部分:

注意:使用animate函数时,为了能够影响元素的 top bottom left right 属性值,需先将position属性值设置为 relative 或者 absolute 

            .panel {
			width: 100px;
			height: 100px;
			border: 1px solid #0050d0;
			background: red;
			cursor: pointer;
			position: relative;
		}

		.content {
			width: 100px;
			height: 100px;
			margin-top: 20px;
			background: green;
		}        

 如果在500之前加上 += 或 -= 代表在当前位置递增或者递减 

        $(".panel").click(function() {
			$(this).animate({left: "+=500"},3000);//递增
         })  

同时执行多个动画

$(this).animate({left: "500", top: "200"},3000);

按顺序执行动画 -- 动画队列

 $(this).animate({left: "500"},3000);
 $(this).animate({top: "200"},3000);

以上可改为 链式写法

$(this).animate({left: "500px"},3000).animate({top: "200px"}, 3000);

 综合动画
 透明度可以用小数,用百分数无效

$(this).animate({left: "500px", height: "200px", opacity: "0.5"},3000).animate({top: "200px", width: "200px"},3000).fadeOut("slow");

 给hover 事件添加 stop() 方法 可解决移入移出动作过快 导致光标动作与动画效果不一致的问题
注意: 移入移出都需要添加stop()

$(".panel").hover(function() {
 		$(this).stop().animate({height: "150",width: "300"},3000)
 	},function(){
 		$(this).stop().animate({height: "22",width: "60"},3000)
 	})

当遇到的是组合动画的时候

                    $(".panel").hover(function() {
				$(this).stop()
					.animate({height: "150"},3000)//如果此时光标移出

					.animate({width: "300"},3000)//执行这个动画 而不是下面移出的动画
			},function(){
				$(this).stop()
					.animate({height: "22"},3000)
					.animate({width: "60"},3000)
			})            

把stop()第一个参数设置为true ,可以解决上面的问题,跳过width为300的样式改变 执行鼠标移出事件

                    $(".panel").hover(function() {
				$(this).stop(true)
					.animate({height: "150"},3000)//如果此时光标移出

					.animate({width: "300"},3000)//执行下面移出的动画
			},function(){
				$(this).stop(true)
					.animate({height: "22"},3000)
					.animate({width: "60"},3000)
			})

如果stop()第二个参数也设置为true的时候,可以直接到达结束时候的状态

  

  

  

  

  

  

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery animate()方法是一个用于实现动画效果的函数。它可以根据指定的参数在HTML元素上创建平滑的过渡效果。 例如,假设有一个 `<div>` 元素,我们想要在点击时将其宽度从200像素变为400像素,并在2秒内完成动画效果。我们可以使用animate()方法来实现这个效果。代码示例如下: ```js $("div").click(function(){ $(this).animate({width: "400px"}, 2000); }); ``` 在上述代码中,我们首先使用选择器选择了所有的 `<div>` 元素,并使用click()方法添加了一个点击事件。当用户点击 `<div>` 元素时,将会触发click()方法绑定的函数。 在点击事件函数中,调用animate()方法来执行动画效果。我们将目标元素的宽度属性设置为"400px",并指定动画的持续时间为2秒。动画效果会平滑过渡,从200像素增加到400像素。 除了宽度,animate()方法还可以用于操作其他CSS属性,如高度、透明度、位置等。可以通过传递一个包含多个CSS属性和目标值的对象来同时操作多个属性。 除了指定目标值和持续时间,animate()方法还可以接受其他可选参数,例如回调函数,在动画完成后执行特定的操作。 总结起来,jQuery animate()方法是一个非常方便的方法,可以帮助我们实现各种动画效果,从简单的属性变化到复杂的过渡效果。它的用法简单明了,通过指定目标元素和参数,我们可以轻松地创建出平滑的动画效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值