知更鸟Begin主题添加下雪特效 – WordPress美化

王小优
王小优
王小优
231
文章
0
评论
2015年9月11日 评论 3,786 4623字阅读15分24秒

知更鸟Begin主题添加下雪特效 – WordPress美化

一、部署JS代码

将下面代码保存为JS文件,文件名:snow.JS

  1. (function() {
  2.     function k(a, b, c) {
  3.         if (a.addEventListener) a.addEventListener(b, c, false);
  4.         else a.attachEvent && a.attachEvent("on" + b, c)
  5.     }
  6.     function g(a) {
  7.         if (typeof window.onload != "function") window.onload = a;
  8.         else {
  9.             var b = window.onload;
  10.             window.onload = function() {
  11.                 b();
  12.                 a()
  13.             }
  14.         }
  15.     }
  16.     function h() {
  17.         var a = {};
  18.         for (type in {
  19.             Top: "",
  20.             Left: ""
  21.         }) {
  22.             var b = type == "Top" ? "Y" : "X";
  23.             if (typeof window["page" + b + "Offset"] != "undefined")
  24.                 a[type.toLowerCase()] = window["page" + b + "Offset"];
  25.             else {
  26.                 b = document.documentElement.clientHeight ? document.documentElement : document.body;
  27.                 a[type.toLowerCase()] = b["scroll" + type]
  28.             }
  29.         }
  30.         return a
  31.     }
  32.     function l() {
  33.         var a = document.body,
  34.             b;
  35.         if (window.innerHeight) b = window.innerHeight;
  36.         else if (a.parentElement.clientHeight) b = a.parentElement.clientHeight;
  37.         else if (a && a.clientHeight) b = a.clientHeight;
  38.         return b
  39.     }
  40.     function i(a) {
  41.         this.parent = document.body;
  42.         this.createEl(this.parent, a);
  43.         this.size = Math.random() * 10 + 15; /* 两个数字控制雪花的大小,目前代码控制雪花尺寸为10~25px */
  44.         this.el.style.width = Math.round(this.size) + "px";
  45.         this.el.style.height = Math.round(this.size) + "px";
  46.         this.maxLeft = document.body.offsetWidth - this.size;
  47.         this.maxTop = document.body.offsetHeight - this.size;
  48.         this.left = Math.random() * this.maxLeft;
  49.         this.top = h().top + 1;
  50.         this.angle = 1.4 + 0.2 * Math.random();
  51.         this.minAngle = 1.4;
  52.         this.maxAngle = 1.6;
  53.         this.angleDelta = 0.01 * Math.random();
  54.         this.speed = 2 + Math.random()
  55.     }
  56.     var j = false;
  57.     g(function() {
  58.         j = true
  59.     });
  60.     var f = true;
  61.     window.createSnow = function(a, b) {
  62.         if (j) {
  63.             var c = [],
  64.                 m = setInterval(function() {
  65.                     f && b > c.length && Math.random() < b * 0.0025 && c.push(new i(a));
  66.                     !f && !c.length && clearInterval(m);
  67.                     for (var e = h().top, n = l(), d = c.length - 1; d >= 0; d--)
  68.                         if (c[d]) if (c[d].top < e || c[d].top + c[d].size + 1 > e + n) {
  69.                                 c[d].remove();
  70.                                 c[d] = null;
  71.                                 c.splice(d, 1)
  72.                             } else {
  73.                                 c[d].move();
  74.                                 c[d].draw()
  75.                             }
  76.                 },
  77.                     40);
  78.             k(window, "scroll"function() {
  79.                 for (var e = c.length - 1; e >= 0; e--) c[e].draw()
  80.             })
  81.         } else g(function() {
  82.                 createSnow(a, b)
  83.             })
  84.     };
  85.     window.removeSnow = function() {
  86.         f = false
  87.     };
  88.     i.prototype = {
  89.         createEl: function(a, b) {
  90.             this.el = document.createElement("img");
  91.             this.el.setAttribute("src", b + "https://www.wangxiaoyou.com/wp-content/themes/begin/snow/snow" + Math.floor(Math.random() * 4) + ".gif"); /* 注意修改为四个雪花文件所在的目录地址 */
  92.             this.el.style.position = "absolute";
  93.             this.el.style.display = "block";
  94.             this.el.style.zIndex = "99999";
  95.             this.parent.appendChild(this.el)
  96.         },
  97.         move: function() {
  98.             if (this.angle < this.minAngle || this.angle > this.maxAngle)
  99.                 this.angleDelta = -this.angleDelta;
  100.             this.angle += this.angleDelta;
  101.             this.left += this.speed * Math.cos(this.angle * Math.PI);
  102.             this.top -= this.speed * Math.sin(this.angle * Math.PI);
  103.             if (this.left < 0) this.left = this.maxLeft;
  104.             else if (this.left > this.maxLeft) this.left = 0
  105.         },
  106.         draw: function() {
  107.             this.el.style.top = Math.round(this.top) + "px";
  108.             this.el.style.left = Math.round(this.left) + "px"
  109.         },
  110.         remove: function() {
  111.             this.parent.removeChild(this.el);
  112.             this.parent = this.el = null
  113.         }
  114.     }
  115. })();
  116. createSnow("", 40);

二、下载JS文件压缩包

下载链接在文章末尾,下载后解压,将snow文件夹上传到主题目录下,下载的压缩包中已经提前为大家保存了snow.js文件。

三、引用JS代码

找到WordPress主题的footer.php文件(编辑之前请备份),在末尾</body>上方(这样可以最后加载特效,以免影响其他内容的访问速度),添加以下代码:

  1. <!-- 添加下雪特效 -->
  2. <script type="text/javascript" src="<?php bloginfo('template_url');?>/snow/snow.js"></script>

注:如果你没有把下载的snow文件夹上传到主题根目录下,请更改上述引用代码。

这个下雪特效,不仅适用于知更鸟Begin主题,同样适用于WordPress其他主题,只需要更改JS代码中的路径和引用代码即可。

下载信息 文件名称:知更鸟Begin主题添加下雪特效 应用平台:WordPress 文件大小:13KB 文件下载:2 次
网盘密码:发表评论并刷新可见
下载地址
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微博
  • 微博扫一扫
  • weinxin
王小优
为WordPress最新文章增加NEW最新提示标志 WordPress美化

为WordPress最新文章增加NEW最新提示标志

纯代码给WordPress文章列表中新发布的文章增加NEW新文章提示,让你的博客更加饱满、人性化,一起跟王小优折腾起来。 看到不少网站的新文章后面都会有一个提示最新文章的文字或者图片,感觉比较人性化,...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: