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操纵Cookie实现购物车程序
Feb 15 Javascript
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
Jul 12 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
javascript 代码是如何被压缩的示例代码
May 06 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
ES5新增数组的实现方法
May 12 Javascript
jQuery 动画与停止动画效果实例详解
May 19 jQuery
jQuery中event.target和this的区别详解
Aug 13 jQuery
JavaScript代码简化技巧实例解析
Sep 09 Javascript
javascript的setTimeout()使用方法总结
Nov 20 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
jQuery 源码分析笔记
2011/05/25 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
jQuery实现购物车表单自动结算效果实例
2015/08/10 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Python基于csv模块实现读取与写入csv数据的方法
2018/01/18 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
高考考python编程是真的吗
2020/07/20 Python
python 监控logcat关键字功能
2020/09/04 Python
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
门卫工作岗位职责
2013/12/17 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
入党现实表现材料
2014/12/23 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
2015年暑假工作总结
2015/07/13 职场文书
关于做家务的心得体会
2016/01/23 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android