主题内新添加内容
_layout.swig
找到themes\next\layout\_layout.swig
文件,添加内容:
在<body>
里添加:
1
| <div class="bg_content"><canvas id="canvas"></canvas></div>
|
仍是该文件,在末尾添加:
1
| <script type="text/javascript" src="/js/src/dynamic_bg.js"></script>
|
dynamic_bg.js
在themes\next\source\js\src
中新建文件dynamic_bg.js
,代码链接中可见:dynamic_bg.js
custom.styl
在themes\next\source\css\_custom\custom.styl
文件末尾添加内容:
1 2 3 4 5 6 7
| .bg_content { position: fixed; top: 0; z-index: -1; width: 100%; height: 100%; }
|
● 添加背景动态彩带效果
样式一是鼠标点击后彩带自动更换样式,样式二是飘动的彩带:
实现方法:在 \themes\material-x\layout\layout.ejs 文件的body前面添加如下代码:
1 2 3 4
| <!-- 样式一(鼠标点击更换样式) --> <script src="https://g.joyinshare.com/hc/ribbon.min.js" type="text/javascript"></script> <!-- 样式二(飘动的彩带) --> <script src="https://g.joyinshare.com/hc/piao.js" type="text/javascript"></script>
|
● 添加背景代码雨特效
新建 DigitalRain.js
,写入以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| window.onload = function(){ var canvas = document.getElementById("canvas"); var context =canvas.getContext("2d"); var s = window.screen; var W = canvas.width = s.width; var H = canvas.height; canvas.width = W; canvas.height = H; var fontSize = 12; var colunms = Math.floor(W /fontSize); var drops = []; for(var i=0;i<colunms;i++){ drops.push(0); } var str ="WELCOME TO WWW.ITRHX.COM"; function draw(){ context.fillStyle = "rgba(238,238,238,.08)"; context.fillRect(0,0,W,H); context.font = "600 "+fontSize+"px Georgia"; context.fillStyle = ["#33B5E5", "#0099CC", "#AA66CC", "#9933CC", "#99CC00", "#669900", "#FFBB33", "#FF8800", "#FF4444", "#CC0000"][parseInt(Math.random() * 10)]; for(var i=0;i<colunms;i++){ var index = Math.floor(Math.random() * str.length); var x = i*fontSize; var y = drops[i] *fontSize; context.fillText(str[index],x,y); if(y >= canvas.height && Math.random() > 0.99){ drops[i] = 0; } drops[i]++; } }; function randColor(){ var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb("+r+","+g+","+b+")"; } draw(); setInterval(draw,35); };
|
在主题文件的相关css文件中(以 Material X 1.2.1 主题为例,在\themes\material-x-1.2.1\source\less_main.less 文件末尾)添加以下代码:
1 2 3 4 5 6 7 8 9 10
| canvas { position: fixed; right: 0px; bottom: 0px; min-width: 100%; min-height: 100%; height: auto; width: auto; z-index: -1; }
|
然后在主题的 layout.ejs 文件中引入即可:
1 2 3
| <canvas id="canvas" width="1440" height="900" ></canvas> <script type="text/javascript" src="/js/DigitalRain.js"></script>
|
最终效果:
代码来源:http://www.lxl8800.cn/Main/Resourc