亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery循環動畫與獲取組件尺寸的方法

2019-11-20 13:15:08
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery循環動畫與獲取組件尺寸的方法。分享給大家供大家參考。具體分析如下:

一、前言

1、jQuery中的animate()方法允許您創建自定義的動畫。

animate() 方法幾乎可以操作所有 CSS 屬性,不過當使用 animate() 時,必須使用Camel標記法書寫所有的屬性名,比如,必須使用paddingLeft而不是padding-left,使用marginRight而不是margin-right,等等。同時,色彩動畫并不包含在核心 jQuery 庫中。如果需要生成顏色動畫,您需要從 jquery.com 下載 Color Animations 插件。

2、通過jQuery,很容易處理元素和瀏覽器窗口的尺寸。
jQuery提供如下屬性獲取元素和瀏覽器窗口的尺寸。

二、基本目標

如下圖:

在網頁中創建兩個按鈕,一個按鈕能夠使組件的尺寸在顯示與隱藏狀態中切換,一個按鈕能夠使循環動畫在開始與停止狀態中切換

單純的JQ沒有暫停與開始動畫播放的功能,必須下載jQuery Pause插件完成。本例而僅僅通過JavaScript去控制循環動畫,所以每次暫停僅能在其完成一次循環體才能夠打斷,并不能做到在隨意位置暫停開始的功能。

三、制作過程

以下是網頁所有代碼,之后再一部分一部分地解釋:

復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <title>JQ動畫</title> 
        <script type="text/javascript" src="js/jquery-1.11.1.js"></script> 
        <script> 
var interval; 
var i = 0; 
var j = 0; 
function divanimate() { 
    $(".d_class").animate( {left : "+=100px"}, 500); 
    $(".d_class").animate( {top : "+=100px" }, 500); 
    $(".d_class").animate( {left : "-=100px"}, 500); 
    $(".d_class").animate( {top : "-=100px" }, 500); 

function cycle() { 
    divanimate(); 
    interval = setInterval("divanimate()", 2000); 

$(document).ready(function() { 
    $("#stop").click(function() { 
        i++; 
        if (i % 2 != 0) 
            cycle(); 
        else 
            clearInterval(interval); 
    }); 
    $("#show").click(function() { 
        j++; 
        if (j % 2 != 0) { 
            var txt = ""; 
            txt += "<p align=/"center/">高: " + $("#d_id").height() + "px</br>"; 
            txt += "寬: " + $("#d_id").width() + "px</p>"; 
            $("#d_id").html(txt); 
        } else { 
            var txt = ""; 
            $("#d_id").html(txt); 
        } 
    }); 
}) 
    </script> 
    </head> 
 
    <body> 
        <button id="show"> 
            顯示/隱藏方塊尺寸 
        </button> 
        <button id="stop"> 
            開始/停止動畫的循環 
        </button> 
        <div id="d_id" class="d_class" 
            style="width: 100px; height: 100px; background-color: #000; position: absolute; top: 50px; color: #FFF; left:50px;"></div> 
    </body> 
</html>

1、<body>部分
沒有什么特別的,就是定義兩個按鈕在與一個圖層。值得注意的是,在圖層的style參數值中必須加入position:absolute一項,否則此圖層無法在網頁中隨意移動

background-color是圖層的背景顏色。color是圖層中的字體顏色。

需要定義id與class兩個參數,因為JQ動畫需要通過class來控制,而JQ獲取組件尺寸則需要通過id來控制。

同時,擺放圖層的位置需要注意,是用left與top來放置,而不是margin-left與margin-top去放置,因為JQ動畫控制代碼是用left與top去控制的。如果使用margin-left與margin-top去放置在動畫開始的瞬間會有小幅度的失真。

2、<head>部分

也就是核心代碼部分:

復制代碼 代碼如下:
<head> 
    <!--網頁編碼,標題,使用JQ--> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <title>JQ動畫</title> 
        <script type="text/javascript" src="js/jquery-1.11.1.js"></script> 
        <script> 
/*這相當于記錄循環狀態的指針,為下面清理clearInterval()所用*/         
var interval; 
/*i是用來記錄點擊“開始/停止動畫的循環”按鈕的次數,如果此按鈕點擊奇數次就開始循環,偶數次就終止循環*/ 
var i = 0; 
/*j是用來記錄點擊“顯示/隱藏方塊尺寸”按鈕的次數,如果此按鈕點擊奇數次就顯示尺寸,偶數次就隱藏尺寸*/ 
var j = 0; 
/*由于沒有封裝好的toggle()方法,我們需要這么做*/ 
function divanimate() { 
    /*這里只能通過圖層的class值來控制圖層,獲取class值的前面的符號是.,而不是#*/ 
    <!--要求class為d_class的圖層,先向右偏移100px,再向下偏移100px,之后向左偏移100px,最后向上偏移100px回到原位,每個動作500毫秒以內完成,也就是0.5秒--> 
    <!--這里注意的是left的意義是x軸的正方向,屏幕最左為0px,越往右數值越大,top是y軸的負方向,屏幕最上為0px,越往下數值越大--> 
    $(".d_class").animate( {left : "+=100px"}, 500); 
    $(".d_class").animate( {top : "+=100px" }, 500); 
    $(".d_class").animate( {left : "-=100px"}, 500); 
    $(".d_class").animate( {top : "-=100px" }, 500); 

function cycle() { 
    /*此函數是首先執行divanimate()函數,之后,每2000毫秒,也就是每2秒執行divanimate()一次。這個間隔剛好是一次動畫所完成時間,如果不打斷此循環的話,剛好能夠無間隔地無縫完美執行循環動畫。*/ 
    /*第一行必須存在,否則每次點擊開始按鈕,都要等2秒,才開始動畫*/ 
    divanimate(); 
    interval = setInterval("divanimate()", 2000); 

/*$(document).ready(function(){})意為一加載網頁就加載的函數,所有按鈕的動作類,必須放在其中*/ 
$(document).ready(function() { 
    $("#stop").click(function() { 
        i++; 
        if (i % 2 != 0) 
            cycle(); 
        else 
        /*終止循環與上面的開始循環是javascript的函數,都說了jquery僅僅是javascript的擴展。*/ 
            clearInterval(interval); 
    }); 
    $("#show").click(function() { 
        j++; 
        if (j % 2 != 0) { 
            var txt = ""; 
            txt += "<p align=/"center/">高: " + $("#d_id").height() + "px</br>"; 
            txt += "寬: " + $("#d_id").width() + "px</p>"; 
            /*這個方法能夠在相應的組件標簽中輸出文本*/ 
            $("#d_id").html(txt); 
        } else { 
            var txt = ""; 
            $("#d_id").html(txt); 
        } 
    }); 
}) 
</script> 
</head>

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人黄色在线观看| 亚洲国产精品99久久| 亚洲国产高清高潮精品美女| 久久亚洲国产精品成人av秋霞| 欧美福利小视频| 欧美亚洲成人xxx| 日产精品久久久一区二区福利| 日本精品久久中文字幕佐佐木| 日本国产高清不卡| 久久精品2019中文字幕| 欧美激情中文网| 国产成人福利视频| 日韩精品中文字幕在线播放| 国产一区二区三区在线免费观看| 亚洲国产成人精品电影| 久久精品精品电影网| 亚洲免费一在线| 91久久久久久久一区二区| 国产一区二区三区在线播放免费观看| 亚洲va电影大全| 最近免费中文字幕视频2019| 国产精品美女在线| 欧美一性一乱一交一视频| 日韩av色在线| 伊人一区二区三区久久精品| 久久久91精品| 91av视频在线观看| 日韩中文字幕网站| 在线中文字幕日韩| 国产精品视频自在线| 亚洲xxxx做受欧美| 怡红院精品视频| 日韩激情片免费| 九九综合九九综合| 亚洲免费高清视频| 亚洲精品动漫久久久久| 91在线视频成人| 亚洲福利在线观看| 国产九九精品视频| 国产午夜精品久久久| 久久天天躁狠狠躁老女人| 亚洲欧洲激情在线| 国产亚洲在线播放| 精品色蜜蜜精品视频在线观看| 26uuu亚洲国产精品| 亚洲自拍偷拍网址| 亚洲美女精品成人在线视频| 少妇av一区二区三区| 欧美日韩国产va另类| 中文字幕v亚洲ⅴv天堂| 精品日本美女福利在线观看| 中文字幕国产精品久久| 成人啪啪免费看| 亚洲人午夜精品免费| 国产成人精品av在线| 欧美精品生活片| 插插插亚洲综合网| 91网站免费看| 精品亚洲精品福利线在观看| 亚洲大胆人体av| 91高清在线免费观看| 国产一区二区三区在线观看视频| 国产精品偷伦免费视频观看的| 欧美极品美女电影一区| 国产69精品久久久| 欧美极品少妇xxxxⅹ免费视频| 国产免费一区二区三区在线能观看| 亚洲精品国偷自产在线99热| 国产欧洲精品视频| 在线视频免费一区二区| 最近2019中文字幕在线高清| 欧美成人在线网站| 欧美亚洲国产成人精品| 久久中文字幕在线| 亚洲日韩中文字幕在线播放| 91日本视频在线| 久久久www成人免费精品张筱雨| 国产精品久久久久久久电影| 亚洲精品电影网| 久久男人av资源网站| 国产精品国产三级国产aⅴ9色| 欧美性猛交xxxx黑人猛交| 亚洲天堂色网站| 欧美大片免费观看在线观看网站推荐| 色www亚洲国产张柏芝| 国产精品吴梦梦| 欧美日韩国产黄| 日韩成人小视频| 日本道色综合久久影院| 欧美成人免费在线观看| 亚洲视频在线观看免费| 精品福利一区二区| 亚洲人成在线电影| 久久视频在线直播| 亚洲成人久久电影| 久久激情视频免费观看| 91成人在线视频| 色先锋资源久久综合5566| 91香蕉电影院| 不卡中文字幕av| 久久777国产线看观看精品| 成人久久久久久| 亚洲精品成a人在线观看| 国产有码一区二区| 亚洲一区亚洲二区亚洲三区| 欧美在线观看网站| 国产精品777| 亚洲高清久久久久久| 在线看日韩av| 中文日韩电影网站| 欧美日韩免费一区| 日韩av免费在线| 91久久精品美女| 日韩有码视频在线| 成人精品视频99在线观看免费| 国产成人福利网站| 欧美日韩成人在线视频| 欧洲精品毛片网站| 亚洲一区第一页| 国产一区二区三区毛片| 九九综合九九综合| 性亚洲最疯狂xxxx高清| 亚洲深夜福利网站| 国语自产在线不卡| 欧美一级片免费在线| 97超碰蝌蚪网人人做人人爽| 日韩精品在线观看网站| 国产精品主播视频| 亚洲日本中文字幕| 美女视频黄免费的亚洲男人天堂| 91在线看www| 一区二区日韩精品| 国产丝袜一区二区| 91亚洲精品一区| 国产91网红主播在线观看| 日本高清不卡在线| 久久久影视精品| 国产精品99免视看9| 国产欧美一区二区三区视频| 亚洲精品久久久久久久久| 欧美理论在线观看| 91在线直播亚洲| 久久久久久久成人| 亚洲欧美日韩高清| 午夜精品久久久久久久白皮肤| 日韩国产精品一区| 亚洲香蕉伊综合在人在线视看| 欧美国产一区二区三区| 日韩欧美国产免费播放| 性视频1819p久久| 成人羞羞国产免费| 综合av色偷偷网| 日韩欧美在线视频日韩欧美在线视频| 精品女同一区二区三区在线播放| 一本色道久久综合亚洲精品小说| 日韩在线中文视频| 久久亚洲国产精品成人av秋霞| 亚洲天堂av综合网| 日av在线播放中文不卡| 综合久久五月天| 亚洲丁香婷深爱综合| 亚洲女人天堂成人av在线| 亚洲欧美国产精品| 国产精品第一第二|