使用jQuery怎么實(shí)現(xiàn)一個(gè)背景顏色漸變動(dòng)畫(huà)效果

使用jQuery怎么實(shí)現(xiàn)一個(gè)背景顏色漸變動(dòng)畫(huà)效果?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

高縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

完整實(shí)例代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>背景顏色漸變</title>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
</head>
<body>
<input id="Button1" type="button" value="button" onclick="tggg()" />
<script>
  function tggg() {
    //$("#asd").css({ "background-color": "red" }).show().fadeOut(500);
    fadeColor(
    { r: 0, g: 255, b: 0 }, //star color
    {r: 255, g: 255, b: 255 }, //end color
    function (color) { document.getElementById("asd").style.backgroundColor = color; }, 1, 10);
  }
  //所有代碼的執(zhí)行時(shí)間只有24毫秒左右。
  function fadeColor(from, to, callback, duration, totalFrames) {
    //用一個(gè)函數(shù)來(lái)包裹setTimeout,根據(jù)幀數(shù)來(lái)確定延時(shí)
    function doTimeout(color, frame) {
      setTimeout(function () {
        try {
          callback(color);
        } catch (e) { JSLog.write(e); }
      }, (duration * 1000 / totalFrames) * frame);
      //總持續(xù)秒數(shù)/每秒幀數(shù)*當(dāng)前幀數(shù)=延時(shí)(秒),再乘以1000作為延時(shí)(毫秒)
    }
    // 整個(gè)漸變過(guò)程的持續(xù)時(shí)間,默認(rèn)為1秒
    var duration = duration || 1;
    // 總幀數(shù),默認(rèn)為持續(xù)秒數(shù)*15幀,也即每秒15幀
    var totalFrames = totalFrames || duration * 15; var r, g, b; var frame = 1;
    //在第0幀設(shè)置起始顏色
    doTimeout('rgb(' + from.r + ',' + from.g + ',' + from.b + ')', 0);
    //計(jì)算每次變化所需要改變的rgb值
    while (frame < totalFrames + 1) {
      r = Math.ceil(from.r * ((totalFrames - frame) / totalFrames) + to.r * (frame / totalFrames));
      g = Math.ceil(from.g * ((totalFrames - frame) / totalFrames) + to.g * (frame / totalFrames));
      b = Math.ceil(from.b * ((totalFrames - frame) / totalFrames) + to.b * (frame / totalFrames));
      // 調(diào)用本frame的doTimeout
      doTimeout('rgb(' + r + ',' + g + ',' + b + ')', frame); frame++;
    }
  }
</script>
<div  id="asd">
  創(chuàng)新互聯(lián)歡迎各位光臨--https://www.jb51.net
</div>
</body>
</html>

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

標(biāo)題名稱:使用jQuery怎么實(shí)現(xiàn)一個(gè)背景顏色漸變動(dòng)畫(huà)效果
分享網(wǎng)址:http://bm7419.com/article6/gocjig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、搜索引擎優(yōu)化網(wǎng)站改版、小程序開(kāi)發(fā)ChatGPT、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)