日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验

發布時間:2025/3/21 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自:曹勝歡博客專欄。轉載請注明出處:http://blog.csdn.net/csh624366188??????????

???????? 最近一直感覺自己好忙,每天都渾渾噩噩的過著,轉眼間,好像有好長時間沒有更新笨鳥到菜鳥了。現在想想,實在罪過了。自從從北京回來就一直投入不了狀態,所以也想利用一下這個寫博客的機會來促進自己早日投入狀態吧。今天我們要講的是jQuery動畫的東西,其實一說到動畫,我相信很多人想到的應該是flash吧。其實不然,現在我們將要用jquery來改變flash的一統天下,當然,我們這里所說的動畫和flash所做的動畫還是有很大的區別的。所以也談不上他兩個產品有什么競爭關系,下面我們就先通過一個簡單的實例來看一下jquery的強大吧。

?

???????? 在很多web開發過程中,我們都會用到彈出層的情況,我們再做彈出層的時候大多數都應該用的js實現把。假設有如下需求:???

???????????????????????????????????????????????????????????????

·????????????單擊圖中的"顯示提示文字"按鈕,在按鈕的下方顯示一個彈出

·?????????????單擊任何空白區域或者彈出層,彈出層消失

?

用原始JavaScript我們也完全可以完成這個工作.?有以下幾點注意事項:

1.彈出層的位置需要動態計算.因為觸發彈出事件的對象可能出現在頁面的任何位置,比如截圖中的位置.

2.document綁定單擊是關閉彈出層的函數,要使用多播委托,否則可能沖掉其他人在document綁定的函數.

3.document綁定了關閉函數后,需要在顯示函數中取消事件冒泡,否則彈出層將顯示后立刻關閉

?

·????????下面我們來看一下用jquery來實現這里的彈出層是怎么實現的:

?

[html]?view plaincopy print?
  • <html?xmlns="http://www.w3.org/1999/xhtml">??
  • ??
  • <head>??
  • ??
  • ????<title>jQuery?–?彈出層動畫</title>??
  • ??
  • ????<script?type="text/javascript"?src="jquery-1.7.2.js"></script>??
  • ??
  • ????<script?type="text/javascript">??
  • ??
  • ????????$(document).ready(function()??
  • ??
  • ????????{??
  • ??
  • ????????????//動畫速度??
  • ??
  • ????????????var?speed?=?500;??
  • ??
  • ????????????//綁定事件處理??
  • ??
  • ????????????$("#btnShow").click(function(event)??
  • ??
  • ????????????{??
  • ??
  • ????????????????//取消事件冒泡,所謂事件冒泡就是在子控件觸發事件時父控件也觸發相應的事件??
  • ??
  • ????????????????event.stopPropagation();??
  • ??
  • ????????????????//獲得觸發事件控件的位置??
  • ??
  • ????????????????var?offset?=?$(event.target).offset();??
  • ??
  • ????????????????????????????//設置彈出層的位置??
  • ??
  • ????????????????$("#divPop").css({?top:?offset.top?+?$(event.target).height()?+?"px",?left:?offset.left?});??
  • ??
  • ????????????????//動畫顯示彈出層??
  • ??
  • ????????????????$("#divPop").show(speed);??
  • ??
  • ????????????});??
  • ??
  • ????????????//單擊空白區域隱藏彈出層??
  • ??
  • ????????????$(document).click(function(event)?{?$("#divPop").hide(speed)?});??
  • ??
  • ????????????//單擊彈出層則自身隱藏??
  • ??
  • ????????????$("#divPop").click(function(event)?{?$("#divPop").hide(speed)?});??
  • ??
  • ????????});??
  • ??
  • ????</script>??
  • ??
  • </head>??
  • ??
  • <body>??
  • ??
  • ????<div>??
  • ??
  • ????????<br?/><br?/><br?/>??
  • ??
  • ????????<button?id="btnShow">彈出層</button>??
  • ??
  • ????</div>??
  • ??
  • ????<!--?彈出層?-->??
  • ??
  • ????<div?id="divPop"?style="background-color:?#f0f0f0;?border:?solid?1px?#000000;?position:?absolute;?display:none;??
  • ??
  • ????????width:?300px;?height:?100px;">??
  • ??
  • ????????<div?style="text-align:?center;">這里是彈出層</div>??
  • ??
  • ????</div>??
  • ??
  • </body>??
  • ??
  • </html>??

  • ????????從上邊代碼的效果我們可以看到,利用jquery除了實現了自動隱藏和彈出層,還實現了動畫彈出的效果。這樣的效果讓我這個初學jquery的小菜確實歡喜。所以說感覺很有必要專門抽出一篇來講解一下這個jquery動畫。Ok,下面我們就一起來正式看一下jquery動畫的東西

    ?

    jQuery的動畫函數主要分為三類:

    基本動畫函數:既有透明度漸變,又有滑動效果.?是最常用的動畫效果函數.

    滑動動畫函數:僅使用滑動漸變效果.

    淡入淡出動畫函數:僅使用透明度漸變效果.

    ?

    這三類動畫函數效果各不相同,用法基本一致.大家可以自己嘗試.另外也許上面的三類函數效果都不是我們想要的,那么jQuery也提供了自定義動畫函數,將控制權放在我們手里讓我們自己定義動畫效果。下面我們就來一一看一下這三種動畫函數。

    ?

    .基本動畫函數:
      1show()
      顯示隱藏匹配元素。這個就是?'show( speed, [callback] )'無動畫的版本。如果選擇的元素是可見的,這個方法將不會改變任何東西。無論這個元素是通過hide()方法隱藏的還是在CSS里設置了display:none;,這個方法都將有效。
      例如:顯示所有段落,$("p").show()
      2show(speed,[callback])

      以優雅的動畫顯示匹配的元素,并且在顯示完成后可選擇返回一個回調函。可根據指定的速度動態改變每個匹配元素高度、寬度和不透明度。
      例如:用緩慢的動畫將隱藏的段落顯示出來,歷時600毫秒,$("p").show(600)
      3hide()

      隱藏顯示元素。這個就是?'hide( speed, [callback] )'的無動畫版。如果選擇的元素是隱藏的,這個方法將不會改變任何東西。
      例如:隱藏所有段落,$("p").hide()
      4hide(speed,[callback])

      以優雅的動畫隱藏所有匹配的元素,并在顯示完成后可選的觸發一個回調函數。可以根據指定的速度動態地改變每個匹配元素的高度、寬度和不透明度。在jQuery 1.3中,paddingmargin也會有動畫,效果更流暢。
      例如:用600ms的時間將段落緩慢的隱藏,$("p").hide("slow");
      5toggle

      切換元素的可見狀態。如果元素時可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。
      例如:切換所有段落的可見狀態,$("p").toggle()
      6toggle(switch

      根據switch參數切花元素的可見狀態(true為可見,false為隱藏)。如果switch設為true,則調用show()方法來顯示匹配的元素,如果switch設為false則調用hide()來隱藏元素。
      例如:切換所有段落的可見狀態,var flip=0;$("button").click(function(){$("p").toggle(flip++%2==0);});
      7
    toggle(speed,[callback])
      以優雅的動畫切換所有匹配的元素,并在顯示完成后可選的觸發一個回調函數。可根據指定的速度動態的改變每個匹配元素的高度、寬度和不透明度。jquery 1.3,paddingmargin也會有動畫,效果更流暢。

      例如:用200ms將段落迅速切換顯示狀態,之后彈出一個對話框,$("p").toggle("fast",function(){alert("hello !");});

    ?

    說明:speed參數可以使用三種預定速度之一的字符串("slow", "normal", or "fast")或表示動畫時長的毫秒數值(如:1000).

    ?

    .滑動動畫函數

    基本動畫函數的效果是一個綜合了滑動和透明度漸變的函數, jQuery還單獨提供了只有滑動效果的相關函數.

    ?

    名稱

    說明

    舉例

    slideDown(speed, [callback])

    通過高度變化(向下增大)來動態地顯示所有匹配的元素,在顯示完成后可選地觸發一個回調函數。

    這個動畫效果只調整元素的高度,可以使匹配的元素以滑動的方式顯示出來。在jQuery 1.3中,上下的paddingmargin也會有動畫,效果更流暢。

    600毫秒緩慢的將段落滑下:????????$("p").slideDown("slow");

    slideUp(speed, [callback])

    通過高度變化(向上減小)來動態地隱藏所有匹配的元素,在隱藏完成后可選地觸發一個回調函數。

    600毫秒緩慢的將段落滑上:????????$("p").slideUp("slow");

    slideToggle(speed, [callback])

    通過高度變化來切換所有匹配元素的可見性,并在切換完成后可選地觸發一個回調函數。

    600毫秒緩慢的將段落滑上或滑下:????????$("p").slideToggle("slow");

    ?

    說明:

    slideDown就是show的滑動效果版本, slideUp就是hide的滑動效果版本, slideToggle就是toggle的滑動效果版本.

    參數完全相同:

    $("#divPop").slideDown(200);

    $("#divPop").slideUp("fast");

    $("#divPop").slideToggle("slow");

    ?

    .淡入淡出動畫函數

    淡出淡出函數只提供透明度漸變的效果.

    名稱

    說明

    舉例

    fadeIn( speed, [callback] )

    通過不透明度的變化來實現所有匹配元素的淡入效果,并在動畫完成后可選地觸發一個回調函數。

    這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。

    600毫秒緩慢的將段落淡入:????????$("p").fadeIn("slow");

    fadeOut( speed, [callback] )

    通過不透明度的變化來實現所有匹配元素的淡出效果,并在動畫完成后可選地觸發一個回調函數。

    600毫秒緩慢的將段落淡出:????????$("p").fadeOut("slow");

    fadeTo(speed, opacity, [callback])

    把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,并在動畫完成后可選地觸發一個回調函數。

    600毫秒緩慢的將段落的透明度調整到0.66,大約2/3的可見度:????????$("p").fadeTo("slow", 0.66);$("p").fadeTo("slow",

    ?

    四、自定義動畫函數Custom
      1animate(params,[duration],[easing],[callback])用于創建自定義動畫的函數。這個函數的關鍵在于制定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如heighttopopacity)。注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left。而每個屬性的值表示這個樣式屬性到多少是動畫結束。如果是一個數值,樣式屬性就會從當前的值漸變到指定的值。如果使用的是hideshowtoggle這樣的字符串值,則會就該屬性調用默認的動畫形式。
      例如:點擊按鈕后div元素的幾個不同屬性一同變化,
      

    [html]?view plaincopy print?
  • $("#go").click(function(){??
  •   $("#block").animate({??
  •   width:"90%",height:"100%",fontSize:"10em",borderWidth:10??
  •   },1000);??
  •   });??

  •   2stop([clearQueue],[gotoEnd])
      停止所有在指定元素上正在運行的動畫。如果隊列中有等待執行的動畫(并且clearQueue沒有設為true),他們將被馬上執行clearQueue(Boolean):如果設置成true,則清空隊列。可以立即結束動畫。gotoEnd (Boolean):讓當前正在執行的動畫立即完成,并且重設showhide的原始樣式,調用回調函數等。

      例如:點擊Go之后開始動畫,Stop之后會在當前位置停下來:
      

    [html]?view plaincopy print?
  • //開始動畫??
  •   $("#go").click(function(){??
  •   $(".block").animate({left:?'+200px'},?5000);??
  •   });??
  •   //當點擊按鈕后停止動畫??
  •   $("#stop").click(function(){??
  •   $(".block").stop();??
  •   }); ?
  • from:?http://blog.csdn.net/csh624366188/article/details/7850901

    總結

    以上是生活随笔為你收集整理的Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。