<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        jQuery實現的立體文字漸變效果_jquery

        來源:懂視網 責編:小采 時間:2020-11-27 20:49:14
        文檔

        jQuery實現的立體文字漸變效果_jquery

        jQuery實現的立體文字漸變效果_jquery:先截兩個圖看看: 效果很不錯吧?會不會誤以為這些字體是圖片?這可不是圖片,而是用JS實現的在線演示 http://demo.jb51.net/js/gradient-test/demo.htm下面來簡單分享下實現過程及原理(網站中使用了jquery這個lib,我們這里就不再自己單獨實現了
        推薦度:
        導讀jQuery實現的立體文字漸變效果_jquery:先截兩個圖看看: 效果很不錯吧?會不會誤以為這些字體是圖片?這可不是圖片,而是用JS實現的在線演示 http://demo.jb51.net/js/gradient-test/demo.htm下面來簡單分享下實現過程及原理(網站中使用了jquery這個lib,我們這里就不再自己單獨實現了

        先截兩個圖看看:

        效果很不錯吧?會不會誤以為這些字體是圖片?這可不是圖片,而是用JS實現的

        在線演示 http://demo.jb51.net/js/gradient-test/demo.htm

        下面來簡單分享下實現過程及原理(網站中使用了jquery這個lib,我們這里就不再自己單獨實現了,我們這里分享的也是jquery的實現方法):

        HTML代碼:
        代碼如下:
        © 2009 Dragon Interactive. All Rights Reserved.

        為了便于代碼重用,我們通過class來標識出哪些文字需要增加這個特效,這里用的是rainbows。

        CSS代碼:
        代碼如下:
        .rainbows{position:relative;display:block;} .rainbow { background: transparent; display: block; position: relative; height: 1px; overflow: hidden; z-index: 5; } .rainbow span { position: absolute; display: block; top: 0; left: 0px; } .rainbows .highlight { color: #fff; display:block; position: absolute; top: -2px; left: 0px; z-index: 4; } .rainbows .shadow { color: #000; display:block; position: absolute; opacity: 0.5; filter:alpha(opacity=50); top: 2px; left: 2px; z-index: 3; }.rainbows{position:relative;display:block;}
        .rainbow {
        background: transparent;
        display: block;
        position: relative;
        height: 1px;
        overflow: hidden;
        z-index: 5;
        }

        .rainbow span {
        position: absolute;
        display: block;
        top: 0;
        left: 0px;
        }

        .rainbows .highlight {
        color: #fff;
        display:block;
        position: absolute;
        top: -2px;
        left: 0px;
        z-index: 4;
        }

        .rainbows .shadow {
        color: #000;
        display:block;
        position: absolute;
        opacity: 0.5;
        filter:alpha(opacity=50);
        top: 2px;
        left: 2px;
        z-index: 3;
        }

        這里主要說明下highlight和shadow這兩個class的意義,其實從字面也基本可以理解,這兩個class是為了增加字體的立體性而設定,一個是白色的高亮,一個是黑色陰影。

        JS部分:
        代碼如下:
        function initGradients(s) { $(function() { $(s).each(function() { var el = this; var from = $(el).attr('gradFromColor')||'#ffffff', to = $(el).attr('gradToColor')||'#000000'; var fR = parseInt(from.substring(1, 3), 16), fG = parseInt(from.substring(3, 5), 16), fB = parseInt(from.substring(5, 7), 16), tR = parseInt(to.substring(1, 3), 16), tG = parseInt(to.substring(3, 5), 16), tB = parseInt(to.substring(5, 7), 16); var h = $(this).height() * 1.5; var html,cacheHTML=[]; this.initHTML = html = this.initHTML||this.innerHTML; this.innerHTML = ''; for (var i = 0; i < h; i++) { var c = '#' + (Math.floor(fR * (h - i) / h + tR * (i / h))).toString(16) + (Math.floor(fG * (h - i) / h + tG * (i / h))).toString(16) + (Math.floor(fB * (h - i) / h + tB * (i / h))).toString(16); cacheHTML.push('' + html + '') } cacheHTML.push('' + html + '','' + html + ''); $(cacheHTML.join('')).appendTo(this) }) }) } //這個部分就是調用了,傳入要添加效果的元素,這里可以是jquery的任意選擇符。 initGradients('.rainbows'); function initGradients(s) {
        $(function() {
        $(s).each(function() {
        var el = this;
        var from = $(el).attr('gradFromColor')||'#ffffff', to = $(el).attr('gradToColor')||'#000000';
        var fR = parseInt(from.substring(1, 3), 16),
        fG = parseInt(from.substring(3, 5), 16),
        fB = parseInt(from.substring(5, 7), 16),
        tR = parseInt(to.substring(1, 3), 16),
        tG = parseInt(to.substring(3, 5), 16),
        tB = parseInt(to.substring(5, 7), 16);

        var h = $(this).height() * 1.5;
        var html,cacheHTML=[];
        this.initHTML = html = this.initHTML||this.innerHTML;
        this.innerHTML = '';
        for (var i = 0; i < h; i++) {
        var c = '#' + (Math.floor(fR * (h - i) / h + tR * (i / h))).toString(16) + (Math.floor(fG * (h - i) / h + tG * (i / h))).toString(16) + (Math.floor(fB * (h - i) / h + tB * (i / h))).toString(16);
        cacheHTML.push('' + html + '')
        }
        cacheHTML.push('' + html + '','' + html + '');
        $(cacheHTML.join('')).appendTo(this)
        })
        })
        }
        //這個部分就是調用了,傳入要添加效果的元素,這里可以是jquery的任意選擇符。
        initGradients('.rainbows');

        代碼看起來并不算多,但是如果想明白原理的話還是要認真的理解下這個代碼的。

        結合JS/CSS我們可以看出其大概的思路如下:


        程序首先算出字體所在容器的高度N,然后清空容器內容,并添加N個span,每個span內容都為原容器的文字,每個span的顏色根據漸變色進行計算,而且其中的文字定位都相比之前一個span的文字向上偏移一個像素。CSS中可以看到,每個span的高度都為1。這樣,我們就通過N各不同顏色的1px的span把字體“拼”出來了,然后加上“高光/陰影”就搞定。

        基于jQuery的立體文字漸變效果

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        jQuery實現的立體文字漸變效果_jquery

        jQuery實現的立體文字漸變效果_jquery:先截兩個圖看看: 效果很不錯吧?會不會誤以為這些字體是圖片?這可不是圖片,而是用JS實現的在線演示 http://demo.jb51.net/js/gradient-test/demo.htm下面來簡單分享下實現過程及原理(網站中使用了jquery這個lib,我們這里就不再自己單獨實現了
        推薦度:
        標簽: 文字 實現 進行
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲无删减国产精品一区| 免费A级毛片无码A| 久久久久亚洲av无码专区蜜芽 | 免费无码又爽又高潮视频| 人与动性xxxxx免费| 色吊丝最新永久免费观看网站 | 亚洲丰满熟女一区二区哦| 99久久99这里只有免费费精品| 亚洲精品偷拍无码不卡av| 最好看最新的中文字幕免费 | 国产又黄又爽又刺激的免费网址| 亚洲乱理伦片在线观看中字| 国产日产成人免费视频在线观看| 成人亚洲国产精品久久| 亚洲一区视频在线播放| 在线观看黄片免费入口不卡| 亚洲人成网址在线观看| 91福利免费体验区观看区| 亚洲国产情侣一区二区三区| 成人黄页网站免费观看大全| 精品国产日韩亚洲一区在线| 亚洲人成无码www久久久| 免费人成黄页在线观看日本| 国产v亚洲v天堂a无| 免费二级毛片免费完整视频| 免费看无码特级毛片| 亚洲一区在线免费观看| 哒哒哒免费视频观看在线www| 久久精品无码专区免费| 亚洲∧v久久久无码精品| 97无码免费人妻超级碰碰碰碰| 国产亚洲精彩视频| 亚洲日本乱码在线观看| 黄页网站免费观看| 成人A毛片免费观看网站| 亚洲不卡视频在线观看| 免费成人av电影| 91精品国产免费久久国语蜜臀 | 国产精品亚洲а∨无码播放不卡| 亚洲开心婷婷中文字幕| 在线观看免费a∨网站|