JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)


Posted in Javascript onMarch 25, 2016

本文实例讲述了JS+CSS实现的漂亮渐变背景特效代码。分享给大家供大家参考,具体如下:

运行效果截图如下:

JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)

具体代码如下:

<html>
  <head>
    <title>
      JS配合CSS实现的漂亮渐变背景特效6个实例
    </title>
    <script>
      var setGradient = (function() {
        var p_dCanvas = document.createElement('canvas');
        var p_useCanvas = !!(typeof(p_dCanvas.getContext) == 'function');
        var p_dCtx = p_useCanvas ? p_dCanvas.getContext('2d') : null;
        var p_isIE =
        /*@cc_on!@*/
        false;
        try {
          p_dCtx.canvas.toDataURL()
        } catch(err) {
          p_useCanvas = false;
        };
        if (p_useCanvas) {
          return function(dEl, sColor1, sColor2, bRepeatY) {
            if (typeof(dEl) == 'string') dEl = document.getElementById(dEl);
            if (!dEl) return false;
            var nW = dEl.offsetWidth;
            var nH = dEl.offsetHeight;
            p_dCanvas.width = nW;
            p_dCanvas.height = nH;
            var dGradient;
            var sRepeat;
            if (bRepeatY) {
              dGradient = p_dCtx.createLinearGradient(0, 0, nW, 0);
              sRepeat = 'repeat-y';
            } else {
              dGradient = p_dCtx.createLinearGradient(0, 0, 0, nH);
              sRepeat = 'repeat-x';
            }
            dGradient.addColorStop(0, sColor1);
            dGradient.addColorStop(1, sColor2);
            p_dCtx.fillStyle = dGradient;
            p_dCtx.fillRect(0, 0, nW, nH);
            var sDataUrl = p_dCtx.canvas.toDataURL('image/png');
            with(dEl.style) {
              backgroundRepeat = sRepeat;
              backgroundImage = 'url(' + sDataUrl + ')';
              backgroundColor = sColor2;
            };
          }
        } else if (p_isIE) {
          p_dCanvas = p_useCanvas = p_dCtx = null;
          return function(dEl, sColor1, sColor2, bRepeatY) {
            if (typeof(dEl) == 'string') dEl = document.getElementById(dEl);
            if (!dEl) return false;
            dEl.style.zoom = 1;
            var sF = dEl.currentStyle.filter;
            dEl.style.filter += ' ' + ['progid:DXImageTransform.Microsoft.gradient( GradientType=', +( !! bRepeatY), ',enabled=true,startColorstr=', sColor1, ', endColorstr=', sColor2, ')'].join('');
          };
        } else {
          p_dCanvas = p_useCanvas = p_dCtx = null;
          return function(dEl, sColor1, sColor2) {
            if (typeof(dEl) == 'string') dEl = document.getElementById(dEl);
            if (!dEl) return false;
            with(dEl.style) {
              backgroundColor = sColor2;
            };
          }
        }
      })();
    </script>
    <style>
      body{font:0.75em/1.4 Arial;text-align:left;margin:20px;} hr{clear:both;visibility:hidden;}
      xmp{font:12px/12px "Courier New";background:#fff;color:#666; border:solid
      1px #ccc;} div.example{ border:solid 1px #555;margin:0 20px 20px 0;float:left;
      display:inline;margin:1em;background:#fff;width:300px;padding:40px;color:#222;font:xx-small/1.2
      "Tahoma";text-align:justify;}
    </style>
    <body>
      <div id="example1" class="example">
        CSS特效代码。
      </div>
      <div id="example2" class="example">
        各类编程源码、
      </div>
      <div id="example3" class="example">
        精品软件
      </div>
      <div id="example4" class="example">
        上海世博园
      </div>
      <div id="example5" class="example">
        我家北京天安门
      </div>
      <div id="example6" class="example">
        北京欢迎您!
      </div>
      <script>
        setGradient('example1', '#4ddbbe', '#d449cc', 1);
        setGradient('example2', '#46ddbd', '#d8b617', 0);
        setGradient('example3', '#c81fc1', '#bf445f', 1);
        setGradient('example4', '#2285e5', '#d769eb', 0);
        setGradient('example5', '#8b4286', '#eac87d', 1);
        setGradient('example6', 'black', 'white', 0);
      </script>
    </body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript知识点收藏
Feb 22 Javascript
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
JS日期格式化之javascript Date format
Oct 01 Javascript
js自定义回调函数
Dec 13 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
Html5+jQuery+CSS制作相册小记录
Dec 30 Javascript
JavaScript实现页面中录音功能的方法
Jun 04 Javascript
微信小程序返回箭头跳转到指定页面实例解析
Oct 08 Javascript
JS实现随机抽取三人
Nov 06 Javascript
详解Javascript继承的实现
Mar 25 #Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 #Javascript
JavaScript修改作用域外变量的方法
Mar 25 #Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 #Javascript
JavaScript入门系列之知识点总结
Mar 24 #Javascript
JS实现支持Ajax验证的表单插件
Mar 24 #Javascript
拥有一个属于自己的javascript表单验证插件
Mar 24 #Javascript
You might like
使用php+xslt在windows平台上
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
Python决策树分类算法学习
2017/12/22 Python
详解python中asyncio模块
2018/03/03 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
python3访问字典里的值实例方法
2020/11/18 Python
Lands’ End官网:经典的美国生活方式品牌
2016/08/14 全球购物
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
考试退步检讨书
2014/01/15 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书