对于jQuery选择器和动画效果停止动画的实战心得前端jQuery框架

Posted 黎燃黎燃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于jQuery选择器和动画效果停止动画的实战心得前端jQuery框架相关的知识,希望对你有一定的参考价值。

@[toc]

JQuery选择器

前面我展示了一些如何选择html元素的示例。
关键是要了解jQuery选择器如何准确地选择要应用效果的元素。
jQuery元素选择器和属性选择器允许按标记名、属性名或内容选择HTML元素。
选择器允许操作HTML元素组或单个元素。
在HTML DOM术语中:

JQuery元素选择器

JQuery使用CSS选择器选择HTML元素。

$(“P”)选择<P>元素。
$(“p.intro”)选择class=“intro”的所有<p>元素。
$(“P#demo”)选择id=“demo”的所有<P>元素。

JQuery属性选择器

JQuery使用XPath表达式选择具有给定属性的元素。

$(“[href]”)选择具有href属性的所有元素。
$([href=“#]”)选择href值等于“#”的所有元素。
$([href!=35;])选择href值不等于35;的所有元素。
$([href$=.JPG])选择href值以“.JPG”结尾的所有元素。

JQuery CSS选择器

jQuery CSS选择器可用于更改HTML元素的CSS属性。
以下示例将所有P元素的背景色更改为红色:

$("p").css("background-color","red");

jQuery 动画 - animate() 方法

jQuery animate() 方法用于创建自定义动画。

$(selector).animate(params,speed,callback);

所需的params参数定义了构成动画的CSS属性。
可选速度参数指定效果的持续时间。它可以采用以下值:“慢”、“快”或毫秒。
可选回调参数是动画完成后要执行的函数的名称。
下面的示例演示了animate()方法的简单应用。它将<div>元素向右移动250像素:

$("button").click(function()
  $("div").animate(left:250px);
);


默认情况下,所有HTML元素都有一个静态位置,不能移动。如果需要更改为,我们需要将元素的位置属性设置为相对、固定或绝对!

jQuery animate() - 操作多个属性

请注意,在动画生成期间可以同时使用多个属性:

$("button").click(function()
  $("div").animate(
    left:250px,
    opacity:0.5,
    height:150px,
    width:150px
  );
);

我可以使用animate()方法来操作所有CSS属性吗?

是的,差不多!但是,需要记住的一点是,在使用animate()时,所有属性名称都必须使用camel符号。例如,必须使用paddingleft而不是paddingleaft,必须使用marginright而不是marginright,等等。
同时,颜色动画不包括在核心jQuery库中。
如果需要生成彩色动画,则需要从jQuery下载彩色动画插件生成彩色动画。

jQuery animate() - 使用相对值

还可以定义相对值(相对于元素的当前值)。需要在值之前添加+=或-=:

$("button").click(function()
  $("div").animate(
    left:250px,
    height:+=150px,
    width:+=150px
  );
);

jQuery 停止动画jQuery stop() 方法

jQuery stop() 方法用于在动画或效果完成前对它们进行停止。
jQuery stop()方法用于在动画或效果完成之前停止它们。
stop()方法适用于所有jQuery效果函数,包括滑动、淡入淡出和自定义动画。

$(selector).stop(stopAll,goToEnd);

可选的stopall参数指定是否应清除动画队列。默认值为false,即仅停止活动动画,并且允许向后执行队列中的任何动画。
可选的gotoend参数指定是否立即完成当前动画。默认值为false。
因此,默认情况下,stop()清除在选定元素上指定的当前动画。
下面的示例演示了不带参数的stop()方法:

动画队列停止动画测试,仅停止当前正在进行的动画。停止当前动画后,队列中的下一个动画开始:

$(document).ready(function()
  $("#flip").click(function()
    $("#panel").slideDown(5000);
    $("#panel").slideUp(5000);
  );
  $("#stop").click(function()
    $("#panel").stop();
  );
);

以上是关于对于jQuery选择器和动画效果停止动画的实战心得前端jQuery框架的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 效果 – 停止动画

jquery.stop()停止动画

Web开发——JavaScript库(jQuery效果——动画/停止动画)

jQuery 停止动画

2017-6-4 JQuery中的选择器和动画 弹窗遮罩

jQuery 停止动画-jQuery stop()