`
zachary.guo
  • 浏览: 487183 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jQuery 学习十三(效果)

阅读更多
    ●  hide()
/**
 * 隐藏显示的元素。
 *
 * 这个就是 "hide( speed, [callback] )" 的无动画版。如果选择的元素是隐藏的,这个方法将不会改变
 * 任何东西。
 * 
 * @return jQuery Object
 * @owner jQuery Object
 */
function hide();

// 例子:隐藏所有段落。
$("p").hide();


    ●  hide(speed, [callback])
/**
 * 以优雅的动画隐藏所有匹配的元素,并在显示完成后可选地触发一个回调函数。
 *
 * 可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。
 *
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数,每个元素执行一次
 * @return jQuery Object
 * @owner jQuery Object
 */
function hide(speed, [callback]);

// 例子一:用 600 毫秒的时间将段落缓慢的隐藏。
$("p").hide("slow");

// 例子二:用 200 毫秒将段落迅速隐藏,之后弹出一个对话框。
$("p").hide("fast", function() {
   alert("Animation Done.");
});


    ●  show()
/**
 * 显示隐藏的匹配元素。
 *
 * 这个就是 "show( speed, [callback] )" 无动画的版本。如果选择的元素是可见的,这个方法将不会改变任
 * 何东西。无论这个元素是通过 hide() 方法隐藏的还是在 CSS 里设置了 display:none; 这个方法都将有效。
 *
 * @return jQuery Object
 * @owner jQuery Object
 */
function show();

// 例子:显示所有段落。
$("p").show();


    ●  show(speed, [callback])
/**
 * 显以优雅的动画显示所有匹配的元素,并在显示完成后可选地触发一个回调函数。
 *
 * 可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。
 *
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数,每个元素执行一次
 * @return jQuery Object
 * @owner jQuery Object
 */
function show(speed, [callback]);

// 例子一:用缓慢的动画将隐藏的段落显示出来,历时 600 毫秒。
$("p").show("slow");

// 例子二:用迅速的动画将隐藏的段落显示出来,历时 200 毫秒。并在之后执行反馈。
$("p").show("fast", function() {
   $(this).text("Animation Done!");
});

// 例子三:将隐藏的段落用将近 4 秒的时间显示出来,并在之后执行一个反馈。
$("p").show(4000, function() {
   $(this).text("Animation Done...");
});


    ●  toggle()
/**
 * 切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
 * 
 * @return jQuery Object
 * @owner jQuery Object
 */
function toggle();

// 例子:切换所有段落的可见状态。
<p>Hello</p>
<p style="display: none">Hello Again</p>

$("p").toggle() -> <p tyle="display: none">Hello</p><p style="display: block">Hello Again</p>


    ●  slideDown(speed, [callback])
/**
 * 通过高度变化(向下增大)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。
 *
 * 这个动画效果只调整元素的高度,可以使匹配的元素以 "滑动" 的方式显示出来。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function slideDown(speed, [callback]);

// 例子一:用 600 毫秒缓慢的将段落滑下。
$("p").slideDown("slow");

// 例子二:用 200 毫秒快速将段落滑下,之后弹出一个对话框。
$("p").slideDown("fast", function(){
   alert("Animation Done.");
});


    ●  slideToggle(speed, [callback])
/**
 * 通过高度变化来切换所有匹配元素的可见性,并在切换完成后可选地触发一个回调函数。
 *
 * 这个动画效果只调整元素的高度,可以使匹配的元素以 "滑动" 的方式隐藏或显示。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function slideToggle(speed, [callback]);

// 例子一:用 600 毫秒缓慢的将段落滑上或滑下。
$("p").slideToggle("slow");

// 例子二:用 200 毫秒快速将段落滑上或滑下,之后弹出一个对话框。
$("p").slideToggle("fast", function() {
   alert("Animation Done.");
});


    ●  slideUp(speed, [callback])
/**
 * 通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。
 *
 * 这个动画效果只调整元素的高度,可以使匹配的元素以 "滑动" 的方式隐藏起来。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function slideUp(speed, [callback]);

// 例子一:用 600 毫秒缓慢的将段落滑上。
$("p").slideUp("slow");

// 例子二:用 200 毫秒快速将段落滑上,之后弹出一个对话框。
$("p").slideUp("fast", function() {
   alert("Animation Done.");
});


    ●  fadeIn(speed, [callback])
/**
 * 通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。
 *
 * 这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function fadeIn(speed, [callback]);

// 例子一:用 600 毫秒缓慢的将段落淡入。
$("p").fadeIn("slow");

// 例子二:用 200 毫秒快速将段落淡入,之后弹出一个对话框。
$("p").fadeIn("fast", function() {
   alert("Animation Done.");
});


    ●  fadeOut(speed, [callback])
/**
 * 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。
 *
 * 这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function fadeOut(speed, [callback]);

// 例子一:用 600 毫秒缓慢的将段落淡出。
$("p").fadeOut("slow");

// 例子二:用 200 毫秒快速将段落淡出,之后弹出一个对话框。
$("p").fadeOut("fast", function() {
   alert("Animation Done.");
});


    ●  fadeTo(speed, opacity, [callback])
/**
 * 把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。
 *
 * 这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。
 * 
 * @speed(String, Number) 三种预定速度之一的字符串("slow", "normal", or "fast")
 *                        或表示动画时长的毫秒数值(如:1000)
 * @opacity(Number) 要调整到的不透明度值(0到1之间的数字)
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function fadeTo(speed, opacity, [callback]);

// 例子一:用 600 毫秒缓慢的将段落的透明度调整到 0.66,大约 2/3 的可见度。
$("p").fadeTo("slow", 0.66);

// 例子二:用 200 毫秒快速将段落的透明度调整到 0.25,大约 1/4 的可见度,之后弹出一个对话框。
$("p").fadeTo("fast", 0.25, function() {
   alert("Animation Done.");
});


    ●  animate(params, options)
/**
 * 用于创建自定义动画的函数。
 *
 * 这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式
 * 属性(如 "height", "top" 或 "opacity")。注意:所有指定的属性必须用骆驼形式,比如用 marginLeft
 * 代替 margin-left。而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就
 * 会从当前的值渐变到指定的值。如果使用的是 "hide", "show" 或 "toggle" 这样的字符串值,则会为该
 * 属性调用默认的动画形式。
 *
 * 在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定
 * "+=" 或 "-=" 来让元素做相对运动。
 * 
 * @params(Options) 一组包含作为动画属性和终值的样式属性和及其值的集合
 * @options(Options) 一组包含动画选项的值的集合
 *    1. duration(String, Number) (默认值: "normal") 三种预定速度之一的字符串("slow", 
 *       "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
 *    2. easing(String) (默认值: "swing") 要使用的擦除效果的名称(需要插件支持)。默认 jQuery 
 *       提供 "linear" 和 "swing"
 *    3. complete(Function) 在动画完成时执行的函数
 *    4. step(Callback)
 *    5. queue(Boolean) (默认值: true) 设定为 false 将使此动画不进入动画队列(jQuery 1.2中新增)
 * @return jQuery Object
 * @owner jQuery Object
 */
function animate(params, options);

// 例子一:第一个按钮按了之后展示了不在队列中的动画。在 div 扩展到 90% 的同时也在增加字体,一旦字体
//         改变完毕后,边框的动画才开始。第二个按钮按了之后就是一个传统的链式动画,即等前一个动画完
//         成后,后一个动画才会开始。
<button id="go1">? Animate Block1</button>
<button id="go2">? Animate Block2</button>
<div id="block1">Block1</div><div id="block2">Block2</div>

$("#go1").click(function() {
  $("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } )
     .animate( { fontSize: '10em' } , 1000 )
     .animate( { borderWidth: 5 }, 1000);
});

$("#go2").click(function(){
  $("#block2").animate( { width: "90%"}, 1000 )
     .animate( { fontSize: '10em' } , 1000 )
     .animate( { borderWidth: 5 }, 1000);
});

// 例子二:用 600 毫秒切换段落的高度和透明度。
$("p").animate({
   height: 'toggle', opacity: 'toggle'
 }, { duration: "slow" });
 
// 例子三:用 500 毫秒将段落移到 left 为 50 的地方并且完全清晰显示出来(透明度为1)。
$("p").animate({
   left: 50, opacity: 'show'
 }, { duration: 500 });
 
// 例子四:一个使用 "easein" 函数提供不同动画样式的例子。只有使用了插件来提供这个" easein" 函数,
//         这个参数才起作用。 
$("p").animate({
   opacity: 'show'
 }, { duration: "slow", easing: "easein" });


    ●  animate(params [, duration[, easing[, callback]]])
/**
 * 描述同 animate(params, options)
 * 
 * @params(Options) 一组包含作为动画属性和终值的样式属性和及其值的集合
 * @duration(String, Number) (可选) 三种预定速度之一的字符串("slow", "normal", or 
 *                           "fast")或表示动画时长的毫秒数值(如:1000)
 * @easing(String) (可选) 要使用的擦除效果的名称(需要插件支持)。默认jQuery提供"linear"和"swing"
 * @callback(Function) (可选) 在动画完成时执行的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function animate(params [, duration[, easing[, callback]]]);

// 例子一:点击按钮后 div 元素的几个不同属性一同变化。
<button id="go"> Run</button>
<div id="block">Hello!</div>

// 在一个动画中同时应用三种类型的效果
$("#go").click(function(){
  $("#block").animate({ 
    width: "90%",
    height: "100%", 
    fontSize: "10em", 
    borderWidth: 10
  }, 1000 );
});

// 例子二:让指定元素左右移动。
<button id="left">?</button> <button id="right">?</button>
<div class="block"></div>

$("#right").click(function(){
  $(".block").animate({left: '+50px'}, "slow");
});

$("#left").click(function(){
  $(".block").animate({left: '-50px'}, "slow");
});
 
// 例子三:在 600 毫秒内切换段落的高度和透明度。
$("p").animate({
   height: 'toggle', opacity: 'toggle'
 }, "slow");
 
// 例子四:用 500 毫秒将段落移到 left 为 50 的地方并且完全清晰显示出来(透明度为1)。
$("p").animate({
   left: 50, opacity: 'show'
 }, 500);
 
// 例子五:一个使用 "easein" 函数提供不同动画样式的例子。只有使用了插件来提供这个 "easein" 函数,
//         这个参数才起作用。
$("p").animate({
   opacity: 'show'
 }, "slow", "easein");


    ●  dequeue()
/**
 * 从动画队列中移除一个队列函数。
 * 
 * @return jQuery Object
 * @owner jQuery Object
 */
function dequeue();

// 例子:
<style>
  div { margin:3px; width:50px; position:absolute;
        height:50px; left:10px; top:30px; 
        background-color:yellow; }
  div.red { background-color:red; }
</style>

<button>Start</button>
<div></div>

$("button").click(function() {
  $("div").animate({left:'+=200px'}, 2000);
  $("div").animate({top:'0px'}, 600);
  $("div").queue(function () {
      $(this).toggleClass("red");
      $(this).dequeue();
  });
  $("div").animate({left:'10px', top:'30px'}, 700);
});


    ●  queue()
/**
 * 返回指向第一个匹配元素的队列(将是一个函数数组)。
 * 
 * @return Array<Function>
 * @owner jQuery Object
 */
function queue();

// 例子:显示队列长度。
<style>
  div { margin:3px; width:40px; height:40px;
        position:absolute; left:0px; top:30px; 
        background:green; display:none; }
  div.newcolor { background:blue; }
  span { color:red; }
</style>

<button id="show">Show Length of Queue</button>
<span></span>
<div></div>

$("#show").click(function () {
	var n = $("div").queue("fx");
	$("span").text("Queue length is: " + n.length);
});
function runIt() {
	$("div").show("slow");
	$("div").animate({left:'+=200'},2000);
	$("div").slideToggle(1000);
	$("div").slideToggle("fast");
	$("div").animate({left:'-=200'},1500);
	$("div").hide("slow");
	$("div").show(1200);
	$("div").slideUp("normal", runIt);
}
runIt();


    ●  queue(callback)
/**
 * 在匹配的元素的动画队列中添加一个函数。
 * 
 * @callback(Function) 要添加进队列的函数
 * @return jQuery Object
 * @owner jQuery Object
 */
function queue(callback);

// 例子:插入一个自定义函数,如果函数执行后要继续队列,则执行 jQuery(this).dequeue();。
<style>
  div { margin:3px; width:40px; height:40px;
        position:absolute; left:0px; top:30px; 
        background:green; display:none; }
  div.newcolor { background:blue; }
</style>

Click here...
<div></div>

$(document.body).click(function() {
	$("div").show("slow");
	$("div").animate({left:'+=200'},2000);
	$("div").queue(function () {
	    $(this).addClass("newcolor");
	    $(this).dequeue();
	});
	$("div").animate({left:'-=200'},500);
	$("div").queue(function () {
	    $(this).removeClass("newcolor");
	    $(this).dequeue();
	});
	$("div").slideUp();
});


    ●  queue(queue)
/**
 * 将匹配元素的动画队列用新的一个队列来代替(函数数组)。
 * 
 * @queue(Array<Function>) 用于替换的队列。所有函数都有同一个参数,这个值与 queue(callback) 相同
 * @return queue
 * @owner jQuery Object
 */
function queue(queue);

// 例子:通过设定队列数组来删除动画队列。
<style>
  div { margin:3px; width:40px; height:40px;
        position:absolute; left:0px; top:30px; 
        background:green; display:none; }
  div.newcolor { background:blue; }
</style>

<button id="start">Start</button>
<button id="stop">Stop</button>
<div></div>

$("#start").click(function () {
	$("div").show("slow");
	$("div").animate({left:'+=200'},5000);
	$("div").queue(function () {
	    $(this).addClass("newcolor");
	    $(this).dequeue();
	});
	$("div").animate({left:'-=200'},1500);
	$("div").queue(function () {
	    $(this).removeClass("newcolor");
	    $(this).dequeue();
	});
	$("div").slideUp();
});
$("#stop").click(function () {
	$("div").queue("fx", []);
	$("div").stop();
});


    ●  stop()
/**
 * 停止所有在指定元素上正在运行的动画。如果队列中有等待执行的动画,他们将被马上执行。
 * 
 * @queue(Array<Function>) 用于替换的队列。所有函数都有同一个参数,这个值与 queue(callback) 相同
 * @return jQuery Object
 * @owner jQuery Object
 */
function stop();

// 例子:点击 Go 之后开始动画,点 Stop 之后会在当前位置停下来。
<button id="go">Go</button> <button 
id="stop">STOP!</button>
<div class="block"></div>
<button id="go">Go</button> <button 
id="stop">STOP!</button>
<div class="block"></div>

// 开始动画
$("#go").click(function() {
  $(".block").animate({left: '+200px'}, 5000);
});

// 当点击按钮后停止动画
$("#stop").click(function(){
  $(".block").stop();
});
分享到:
评论

相关推荐

    创意的jQuery三角形排列文字效果

    【jQuery三角形排列文字效果】是一种独特而富有创意的网页设计技术,利用JavaScript库jQuery实现文字在页面上以三角形的形状展示。这种效果能够吸引用户的注意力,提升网站的视觉吸引力,尤其适用于创建引人入胜的...

    jquery资料--jquery学习资料

    **jQuery学习资料详解** jQuery,一个轻量级、高性能的JavaScript库,自2006年发布以来,因其简洁易用的API接口和强大的功能,迅速成为开发者们首选的前端工具之一。本资料旨在深入浅出地介绍jQuery的核心概念、...

    jquery学习资料大全

    **jQuery学习资料大全** 在IT领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript代码,使得网页交互和DOM操作变得更加便捷。这份“jQuery学习资料大全”提供了丰富的资源,无论你是初学者还是有...

    JQuery学习网站

    **jQuery学习网站** jQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作和Ajax交互。由于其简洁的语法和强大的功能,jQuery成为了前端开发中的首选工具之一。 这篇博文链接...

    精选 jquery 学习资料

    本压缩包包含的“精选jQuery学习资料”是针对这一强大的库进行深入学习的重要资源。 首先,我们来看看`jquery-1.2.6.js`,这是jQuery库的1.2.6版本的源代码文件。这个版本的历史悠久,但依然具有学习价值,因为它...

    jQuery翻牌倒计时效果demo

    通过阅读和理解这个文件,你可以学习如何将各个部分整合起来,创建出一个完整的jQuery翻牌倒计时效果。 总结来说,实现jQuery翻牌倒计时效果涉及到了JavaScript基础、jQuery的DOM操作和动画、ECMAScript语法以及CSS...

    JQuery学习手册.rar

    《JQuery学习手册》是一份全面且深入的资源,旨在帮助开发者掌握JavaScript库JQuery的核心概念和实用技巧。这份手册不仅包含理论知识,还有实践应用的案例,是初学者和经验丰富的开发者提升JQuery技能的理想参考资料...

    jQuery相册图片滤镜效果.zip

    总的来说,"jQuery相册图片滤镜效果.zip"中的内容为学习和实现这种效果提供了完整的素材,包括HTML结构、CSS样式、JavaScript代码以及图片资源。通过研究这些文件,开发者可以掌握使用jQuery和CSS3实现图片滤镜轮播...

    jQuery各类炫酷效果demo

    本压缩包“jQuery各类炫酷效果demo”包含了一系列使用jQuery实现的精彩示例,旨在帮助开发者更好地理解和应用jQuery。 首先,让我们详细探讨一些在描述中提到的效果: 1. **表单验证**:jQuery提供了方便的API来...

    jquery翻屏效果的各种效果

    在网页设计中,jQuery是一种广泛使用的JavaScript库,它极大地简化了JavaScript代码的编写,特别是对于交互性和动画效果的实现。...通过实践和不断学习,我们可以打造出更加出色的翻屏效果,提升网站的整体品质。

    jquery经典学习手册

    ### 三、jQuery的动画效果 jQuery的`.animate()`方法可以创建平滑的动画效果。 ```javascript $("#box").animate({ width: "50%", height: "50%", opacity: 0.5 }, 2000); ``` 以上代码会将ID为`box`的元素的...

    JQuery学习资料

    这个“JQuery学习资料”压缩包包含了一系列与JQuery相关的学习资源,旨在帮助开发者深入理解和掌握JQuery的核心概念和实用技巧。 首先,`jquery1.4 API`是JQuery 1.4版本的官方API文档,它详细列出了该版本的所有...

    JQuery学习资料与源代码

    **jQuery学习资料与源代码详解** jQuery是一款广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。这个压缩包中的"JQuery学习资料与源代码"包含了从基础到进阶...

    Jquery学习笔记Jquery学习笔记

    Jquery学习笔记 Jquery学习笔记是指使用Jquery框架来实现javascript编程的笔记记录,本笔记记录了Jquery-1.2的基本用法、Ajax异步交互、XMLHttpRequest对象的基本应用等知识点。 一、Jquery基本用法 Jquery是一个...

    jquery手册jquery的学习jquery的学习

    jQuery的学习需要从基础选择器和DOM操作开始,逐步深入到事件处理、动画效果和Ajax交互。配合"LAMP兄弟连"的相关资源,可以提升Web开发的全面技能。最后,使用官方API文档作为工具,能够解决实际开发中的问题,确保...

    jQuery学习示例 大全

    **jQuery学习示例大全** jQuery是一款广泛应用于网页开发的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互等任务。这个"jQuery学习示例大全"涵盖了从基础到进阶的各种示例,帮助开发者快速掌握...

    jquery实现动态背景效果

    在本文中,我们将深入探讨如何使用jQuery库来创建动态背景效果。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,从而让网页开发变得更加高效。对于想要为网站增添...

    jquery动态画廊滚动效果.zip

    《jQuery动态画廊滚动效果详解》 在网页设计与开发中,动态效果是提升用户体验的重要手段之一。"jQuery动态画廊滚动效果"就是一个典型的应用,它巧妙地将JavaScript的动态特性与jQuery库相结合,实现了图片展示的...

    jquery零碎实例和学习心得

    `jQuery学习笔记72--UI-表格排序.rar` 这部分可能是关于jQuery UI中的表格排序功能的详细笔记,适合于对数据展示和交互有需求的开发者。 最后,`Jquery应用 - 图片导航.rar` 可能包含使用jQuery实现的图片轮播或...

Global site tag (gtag.js) - Google Analytics