鍍金池/ 教程/ HTML/ 動畫效果
jQuery UI Tab 示例(一)
jQuery UI Datepicker 示例(四)
jQuery UI 示例
jQuery UI Slider 示例(二)
jQuery UI Dialog 示例(一)
HTML Get
動畫效果
終止動畫
回調(diào)函數(shù)
方法鏈
jQuery UI Button 示例(一)
jQuery UI Autocomplete 示例(三)
jQuery UI Autocomplete 示例(二)
設(shè)置或取得元素的 CSS class
jQuery UI 概述
基本語法
jQuery UI Datepicker 示例(一)
jQuery UI Autocomplete 示例(一)
jQuery UI Spiner 示例
jQuery UI Tab 示例(二)
淡入淡出效果
顯示/隱藏內(nèi)容
HTML Set
jQuery UI Tooltip 示例
jQuery UI Slider 示例(一)
讀寫 HTML 元素的 css 屬性
jQuery UI Datepicker 示例(二)
添加HTML元素
操作 HTML 元素的大小
jQuery UI Datepicker 示例(五)
滑動效果
jQuery UI Dialog 示例(二)
jQuery UI Menu 示例
jQuery UI 基本工作過程
jQuery UI Button 示例(二)
jQuery UI Dialog 示例(三)
jQuery UI Datepicker 示例(三)
Selectors
jQuery UI Progressbar 示例
Events
jQuery UI Accordion 示例
刪除HTML元素

動畫效果

前面的 hide/show,slide in/out 其實也具有動畫效果,本篇介紹使用 animate()實現(xiàn)自定義動畫效果。

基本語法如下:

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

必選的參數(shù)為 params,定義 CSS 用于動畫效果的的屬性。

可選參數(shù) speed 給出了淡入效果的時間,可以使用 “slow”,”fast” 或是數(shù)值(微秒) 第二個可選參數(shù)為回調(diào)函數(shù),在 animate()方法結(jié)束后調(diào)用。

比如下面的例子,將一個

標(biāo)記移動到其 Left 屬性等于250px.

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

要注意的是,缺省情況下,所有 HTML 元素的位置的固定的,不能移動,因此如果需要修改 HTML 元素的位置,需要事先將它們的 CSS 屬性的位置設(shè)置為 relative, fixed, 或 absolute。

使用 animate 修改多個屬性

下面的例子,可以使用 animate 同時修改多個屬性:

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

注意:基本所有的 CSS 屬性都可以在 animation 中使用,顏色修改不在 jQuery 核心庫中,需要Color Animiation 插件來完成。

使用屬性相對值

對于 CSS 屬性,除了上面使用的絕對大小,也可以使用相對值來定義,使用 “+”“-”。

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

使用預(yù)定義的值

也可以使用預(yù)定義的值為屬性賦值。比如”show”, “hide”, 或 “toggle”:

$("button").click(function(){
  $("div").animate({
    height:'toggle'
  });
});

使用隊列功能

缺省 jQuery 支持將多個 animation 功能串起來構(gòu)從一個隊列,然后一個一個的執(zhí)行隊列中的指令。

比如:

$("button").click(function(){
  var div=$("div");
  div.animate({height:'300px',opacity:'0.4'},"slow");
  div.animate({width:'300px',opacity:'0.8'},"slow");
  div.animate({height:'100px',opacity:'0.4'},"slow");
  div.animate({width:'100px',opacity:'0.8'},"slow");
});

$("button").click(function(){
  var div=$("div");
  div.animate({left:'100px'},"slow");
  div.animate({fontSize:'3em'},"slow");
});