`
guoxuepeng
  • 浏览: 38598 次
文章分类
社区版块
存档分类
最新评论

看下你名字炫不炫(CSS3)---知道动哦

 
阅读更多

使用技术:JS+CSS3

浏览器支持:IE9,FireFox,Chrome


效果图:


代码下载:http://download.csdn.net/detail/guoxuepeng123/5303831


源码分享:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  
 </HEAD>

 <BODY>
  <canvas id="c" width="1024" height="768"></canvas>
 </BODY>
 <script>
 var inputName="CSDN";//输入你的名字
  var b = document.body;
  var c = document.getElementsByTagName('canvas')[0];
  var a = c.getContext('2d');
  document.body.clientWidth; 
  c.width = 1024;
  c.height = 768;

  a.font = "bold 200pt Arial";
  a.fillStyle = "rgb(255,255,255)";       
  a.fillText(inputName, 50, 300); 
  var px = [];

  var imgData=a.getImageData(0,0,c.width,c.height);
          
  for(x=0; x<imgData.width; x++)
  {
    for(y=0 ; y<imgData.height; y++)
    {
      if(getPixel(imgData,x,y)[3] > 0)
      {
        px.push( [x,y] );
      }
    }
  }

  setInterval(draw, 10);
  var max = 40;
  
  var tt = new Array();
  
  function tendril()
  {
    this.init = function(x, y, width)
    {   
      this.x = x;
      this.y = y;
      this.width = width;
      this.angle = Math.random()*2*Math.PI - Math.PI;
      this.v = 0;
      this.length = 0;
    };
    this.grow = function(distance, curl, step)  //distance=3.0, curl=1.0, step=0.02
    {
      if(this.length < max)
      {
        this.x += Math.cos(this.angle) * distance;
        this.y += Math.sin(this.angle) * distance;
        this.v += Math.random() * step - step/2;
        this.v *= 0.9 + curl*0.1;
        this.angle += this.v;   
        if(this._x != undefined)
        {
          aa = this.length/max;
                    
          r = 8;
          g = parseInt(aa * 255);
          b = 32;
         
          a.beginPath();
          a.strokeStyle="rgba("+r+","+g+","+b+","+(1-aa)+")";
          a.moveTo(this._x,this._y);
          a.lineTo(this.x,this.y);
          a.closePath();
          a.stroke();
                    
        }
        this._x = this.x;
        this._y = this.y;
        this.length++;

      }
    };
  };
  
	function draw()
	{    
    
    // add new tendrils
    
    for(p in px)
    {
      if(Math.random() > 0.9999)
      { 
        var t = new tendril();
        t.init(px[p][0],px[p][1],15);  
        tt.push ( t );
      }
    }

    // grow actuals tendrils
    
    if(tt.length > 0)
    {
      for(t in tt)
      {
        tt[t].grow(1.0, 1.0, 0.02);    
      }
    }

  }
  

  function getPixel(imgData, x, y) {
    var offset = (x + y * imgData.width) * 4;
    var r = imgData.data[offset+0];
    var g = imgData.data[offset+1];
    var b = imgData.data[offset+2];
    var a = imgData.data[offset+3];
    
    return [r,g,b,a];
  }  
  </script>
</HTML>



分享到:
评论

相关推荐

    看下你名字炫不炫

    看下你名字炫不炫 一直在动哦 使用技术:JS+CSS3 浏览器支持:支持CSS3的浏览器都行,像IE9,Chrome,FireFox...

    CSS3绘制超炫的上下起伏波动进度加载动画

    在本文中,我们将深入探讨如何使用CSS3来创建一个引人入胜的上下起伏波动的进度加载动画。这个动画利用了CSS3的一些关键特性,包括变换(transform)、颜色透明度控制以及伪元素(pseudo-elements)操作,从而实现了...

    html,js,css+流星3D旋转相册

    送给女朋友别样的礼物,不再是鲜花巧克力,... 3.音乐可以替换,但是需要在html里进行音乐名称修改,在html101行 4.网页出现的字可以自行更改,在html122行 5.网页的标题也在html里进行修改,html可用webstorm打开

    前端实现动态圣诞树动画粒子效果(HTML+CSS+JS)

    ) 简单说一下注释吧: 整体圣诞树分为3个部分,树的主干、粒子特效、树上的卡片 树上的卡片(重点):每一张卡片上都有一个名字,代表圣诞树的叶子,后面可以根据自己需求更改,比如全部改成喜欢人的名字,在JS代码的...

    超炫3D下拉菜单Makisu

    在实现3D效果的过程中,CSS3的`transform`属性起到了关键作用,它允许元素在空间中进行位移、旋转和缩放。结合`transition`属性,可以创建平滑的过渡效果。此外,JavaScript代码负责处理用户的交互事件,如鼠标悬停...

    Jquery 动态3D相册炫酷相册大全 专心为女友定制版

    在Web上实现3D效果通常依赖于CSS3的transform和perspective属性,以及JavaScript的动态计算。这些技术允许开发者创建出具有深度感的3D空间,用户可以通过鼠标或触摸动作来改变视角,仿佛在转动一个真实的相册。通过...

    一款纯css3制作的属性透明环形星星发光效果.zip

    CSS3允许开发者通过声明式语法控制网页元素的样式、布局和动画,而这个效果可能涉及到的关键CSS3属性包括但不限于:动画(@keyframes)、渐变(linear-gradient或radial-gradient)、透明度(opacity)、 transform...

    纯js和CSS3炫酷自动幻灯片特效

    Karrot Slider是一款纯Javascript和CSS3制作的自动播放的幻灯片插件。该幻灯片没有任何外部依赖,内置有8种不同的动画过渡效果。该幻灯片支持响应式图片设计模式,也可以制作为全屏幻灯片模式。

    flashaxe-webcode-master.zip

    7. **CSS3新特性**:如border-radius、透明度、多背景层等都是CSS3引入的新特性,它们极大地扩展了CSS的能力,让网页设计更加丰富多彩。 总结,"flashaxe-webcode-master.zip"中的"webcode"文件夹为我们提供了一个...

    动画库animate.css文字特效特效代码

    - "jiaoben19318":这个名字不太明确,但可能是一个示例文件,例如一个包含了 Animate.css 动画效果的 HTML 文件,供用户参考和学习。 总的来说,Animate.css 是一个强大的 CSS 动画库,尤其适合用于创建各种文字...

    js旋转木马3D图片.rar

    【压缩包子文件的文件名称】"CSS3_js_3dxzmm"可能是指使用CSS3和JavaScript实现的3D旋转木马效果的源代码或资源文件。这个名字可能包含了一些关键类名或模块名称,暗示了代码的组织结构。 在这个3D旋转木马项目中,...

    鼠标样式(点线).zip_KDN_css线条传输_几何_点线_鼠标样式 点线

    "KDN_css线条传输"标签可能是指这个设计来源于KDN(可能是某个社区、教程网站或设计师的名字),并专注于CSS线条的动态传输效果。这表明该设计可能具有一定的技术难度和专业性,适合有一定CSS基础的开发者学习和参考...

    2021-2022年收藏的精品资料软件工程师49个超炫的HTML5设计示例.docx

    20. **Changing Background**:动态背景效果,可能使用CSS3动画或JavaScript改变背景图片。 21. **HTML5 Drum Kit**:一个鼓机模拟器,使用Audio API和事件监听创建打击乐器音效。 22. **Dynamic Content ...

    HTML5超酷文字动画特效

    3. `playful.html`:这个名字暗示了这是一个充满趣味性的动画效果,可能是文字跳跃、旋转或者与其他元素互动。 4. `crossword.html`:可能是一个与填字游戏相关的文字动画,文字在网格中出现、消失或者组合成新的...

    鼠标经过CSS3按钮动画特效特效代码

    而"jiaoben5150"这个名字看起来像是一个具体的文件,可能是包含示例代码的CSS或HTML文件,用于演示如何实现上述的鼠标经过CSS3按钮动画特效。 总之,通过CSS3的`transition`和`keyframes`,我们可以轻松地为网页...

    love-141127195922.zip

    这个压缩包的名字本身就是一个充满爱意的时间戳,可能代表了某个特殊的日子或时刻,为这份表白增添了更多的情感色彩。 一、表白网页概述 表白网页是一种利用HTML、CSS和JavaScript等前端技术制作的交互式网页。...

    H5炫酷离别超伤感

    CSS3的过渡效果、动画和3D转换也能为设计增添动感和深度。JavaScript库如jQuery、Vue.js或React.js则帮助简化页面交互和数据绑定,使用户与内容之间有更自然的互动。 标签“表白”、“离别”、“伤感”揭示了H5内容...

    [Web]很炫的抽屉菜单

    抽屉菜单的名字来源于它的开合效果,就像一个从屏幕边缘滑出的抽屉。这种设计尤其适用于移动设备,因为它们可以保持页面简洁,同时确保用户能够方便地访问各种功能或链接。 在您提供的资源中,我们可以看到一个名为...

    H5小游戏源码 mini炫斗.zip

    “mini炫斗”这款H5小游戏,从名字可以推测,可能是一款动作竞技类游戏,强调快速的反应和操作。源码的开放性使得开发者和学习者有机会直接查看并研究其内部逻辑,这对于学习H5游戏开发有着极大的价值。 在源码中,...

    很酷的3D图片展示效果

    3. CSS文件:用于控制页面布局和样式。 4. 图片资源:3D模型的纹理图片或背景图片。 5. JSON或其他数据文件:可能存储了3D模型的结构信息。 在使用这份资源时,开发者需要理解基本的3D图形原理,熟悉JavaScript和...

Global site tag (gtag.js) - Google Analytics