免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
帖子

返回列表 发帖
查看: 983|回复: 0 收起左侧
开启左侧收起左侧开启左侧
上一主题 下一主题 打印

论坛下雪效果   [复制链接]

1、新建 jsnow 模板,内容:
  1. (function ($) {
  2.     $.fn.jSnow = function (h) {
  3.         var j = $.extend({}, $.fn.jSnow.defaults, h);
  4.         var k, WIN_HEIGHT;
  5.         var l = j.flakes;
  6.         var m = j.flakeCode;
  7.         var n = j.flakeColor;
  8.         var o = j.flakeMinSize;
  9.         var p = j.flakeMaxSize;
  10.         var q = j.fallingSpeedMin;
  11.         var r = j.fallingSpeedMax;
  12.         var s = j.interval;
  13.         var t = j.zIndex;
  14.         var vs = j.vSize;
  15.         var fa = j.fadeAway;
  16.         var fs = j.followScroll;
  17.         setWaH();
  18.         var useGif = false;
  19.         //if ($.browser.msie && (parseFloat($.browser.version) < 8))useGif = true;
  20.         if ($('body').is('.lt-ie8 *')) {
  21.             useGif = true;
  22.         }
  23.         //if ($.browser.msie && (parseFloat($.browser.version) < 8) && t == "auto")t = 0;
  24.         if ($('body').is('.lt-ie8 *') && t == "auto")t = 0;

  25.         var u = $("<div \/>");
  26.         u.css({
  27.             width: k + "px",
  28.             height: 1,
  29.             display: "block",
  30.             overflow: "visible",
  31.             position: "absolute",
  32.             left: "1px",
  33.             zIndex: t
  34.         });
  35.         if (fs) {
  36.             u.css('top', $("html").scrollTop() + 1 + "px");
  37.         } else {
  38.             u.css = '1px';
  39.         }
  40.         $("body").prepend(u).css({height: "100%"});
  41.         $("html").css({"overflow-y": "scroll", "overflow-x": "hidden"});
  42.         var v = Array();
  43.         generateFlake(l, false);
  44.         setInterval(animateFlakes, s);
  45.         window.onresize = setWaH;
  46.         function setWaH() {
  47.             k = $('body').width();
  48.             var def_h = window.innerHeight || document.documentElement.clientHeight;
  49.             def_h -= 50;
  50.             if (!vs || vs > def_h ) {
  51.                 WIN_HEIGHT = window.innerHeight || document.documentElement.clientHeight
  52.                 WIN_HEIGHT -= 50;
  53.             } else WIN_HEIGHT = vs;
  54.         };
  55.         if (fs) {
  56.             window.onscroll = function () {
  57.                 u.css({top: $("html").scrollTop() + "px"})
  58.             };
  59.         }
  60.         function generateFlake(a, b) {
  61.             a = a || 1;
  62.             b = b || false;
  63.             var i = 0;
  64.             for (i = 0; i < a; i++) {
  65.                 var c = $("<span \/>");
  66.                 var d = o + Math.floor(Math.random() * p);
  67.                 var e = m[Math.floor(Math.random() * m.length)];
  68.                 if (e.indexOf(".gif") != -1 || e.indexOf(".png") != -1) {
  69.                     var f = new Image();
  70.                     if (useGif)e = e.replace("png", "gif");
  71.                     f.src = e;
  72.                     e = "<img src='" + e + "' alt='jSnowFlake'>"
  73.                 }
  74.                 c.html(e).css({
  75.                     color: n[Math.floor(Math.random() * n.length)],
  76.                     fontSize: d + "px",
  77.                     display: "block",
  78.                     position: "absolute",
  79.                     cursor: "default",
  80.                     "pointer-events": "none",
  81.                     "z-index": t
  82.                 });
  83.                 $(u).append(c);
  84.                 f_left = Math.floor(Math.random() * (k - c.width() - 50)) + 25;
  85.                 f_top = (b) ? -1 * c.height() : Math.floor(Math.random() * (WIN_HEIGHT - 50));
  86.                 var g = Math.floor(Math.random() * 90);
  87.                 jQuery.data(c, "posData", {
  88.                     top: f_top,
  89.                     left: f_left,
  90.                     rad: Math.random() * 50,
  91.                     i: Math.ceil(q + Math.random() * (r - q)),
  92.                     swingRange: g
  93.                 });
  94.                 c.css({top: f_top + "px", left: f_left + "px"});
  95.                 v.push(c)
  96.             }
  97.         };
  98.         function animateFlakes() {
  99.             var i = 0;
  100.             for (i = v.length - 1; i >= 0; i--) {
  101.                 var f = v[i];
  102.                 var a = jQuery.data(f, "posData");
  103.                 a.top += a.i;
  104.                 var b = Number();
  105.                 b = Math.cos((a.rad / 180) * Math.PI);
  106.                 a.rad += 2;
  107.                 var X = a.left - b * a.swingRange;
  108.                 if (fa) {
  109.                     op = (WIN_HEIGHT - a.top < 100) ? ((WIN_HEIGHT - a.top) / 100) : 1;
  110.                     f.css('opacity', op);
  111.                 }
  112.                 f.css({top: a.top + "px", left: X + "px"});
  113.                 if (a.top > WIN_HEIGHT) {
  114.                     jQuery.removeData(f);
  115.                     f.remove();
  116.                     v.splice(i, 1);
  117.                     generateFlake(1, true)
  118.                 }
  119.             }
  120.         };
  121.         return this
  122.     };
  123.     $.fn.jSnow.defaults = {
  124.         flakes: 30,
  125.         fallingSpeedMin: 1,
  126.         fallingSpeedMax: 3,
  127.         flakeMaxSize: 20,
  128.         flakeMinSize: 10,
  129.         flakeCode: ["&bull;"],
  130.         flakeColor: ["#fff"],
  131.         zIndex: "auto",
  132.         interval: 50,
  133.         fadeAway: true,
  134.     }
  135. })(jQuery);
复制代码
2.新建 snow-effect 模板,内容:
  1. (function ($) {
  2.   "use strict";

  3.   $(window).on("load", function () {
  4.     if (!snoweffect.show) return;
  5.     jQuery().jSnow({
  6.       followScroll: true,
  7.       flakes: snoweffect.flakes_num,
  8.       fallingSpeedMin: parseInt(snoweffect.falling_speed_min),
  9.       fallingSpeedMax: parseInt(snoweffect.falling_speed_max),
  10.       flakeMaxSize: parseInt(snoweffect.flake_max_size),
  11.       flakeMinSize: parseInt(snoweffect.flake_min_size),
  12.       flakeColor: [snoweffect.flake_color],
  13.       vSize: snoweffect.vertical_size,
  14.       fadeAway: snoweffect.fade_away,
  15.       zIndex: snoweffect.flake_zindex,
  16.       flakeCode: ["&" + snoweffect.flake_type + ";"],
  17.     });
  18.   });
  19. })(jQuery);
复制代码
3、新建 snow-js.min 模板,内容:
  1. !function(t){"use strict";t(document).on("loadWPSnow",function(e,o,n,s,i,l,d,p,a,r,f){function y(t){return Math.floor(t*Math.random())}function c(){for(b=0;o>=b;b++)g[b]+=x[b],w[b].posY+=w[b].sink,w[b].style.left=w[b].posX+Y[b]*Math.sin(g[b])+"px",w[b].style.top=w[b].posY+"px",(w[b].posY>=m+2*w[b].size||parseInt(w[b].style.left)>v-3*Y[b])&&(w[b].posX=y(v-w[b].size),w[b].posY=2*w[b].size*-1);setTimeout(c,a)}function u(){for(z(),h(),b=0;o>=b;b++)g[b]=0,Y[b]=15*Math.random(),x[b]=.03+Math.random()/10,w[b]=document.getElementById("flake"+b),w[b].size=y(M)+p,w[b].style.fontSize=w[b].size+"px",w[b].style.fontFamily=s[y(s.length)],w[b].style.color=n[y(n.length)],w[b].style.position="absolute",w[b].style.zIndex=2500,w[b].sink=l*w[b].size/5,w[b].posX=y(v-w[b].size),w[b].posY=y(m+2*w[b].size),w[b].style.left=w[b].posX+"px",w[b].style.top=w[b].posY+"px";h(),c(),t("body").css({position:"relative"})}function h(){m=document.body.scrollHeight+0,v=document.body.clientWidth-0}function z(){var e='<div id="snow-container" style="pointer-events:none;position:absolute;height:100%;width:100%;top:0;bottom:0;right:0;z-index: 999999;overflow:hidden;">';for(b=0;o>=b;b++)e+="<span id='flake"+b+"' style='"+f+"top:-"+d+"'>"+i+"</span>";e+="</div>",t("body").append(e)}var m,v,w=[],b=0,x=[],g=[],Y=[],M=d-p;window.addEventListener("resize",h),window.addEventListener("load",u)})}(jQuery);
复制代码
4.把下面的代码添加到“网站第三方统计代码”或“其他头部信息”。
  1. <script type='text/javascript' src='templates/模板名称/jsnow.htm'></script>
  2. <script type='text/javascript' id='snow-effect-js-extra'>
  3. /* <![CDATA[ */
  4. var snoweffect = {"show":"1","flakes_num":"30","falling_speed_min":"1","falling_speed_max":"3","flake_max_size":"20","flake_min_size":"10","vertical_size":"800","flake_color":"#efefef","flake_zindex":"100000","flake_type":"#10053","fade_away":"1"};
  5. /* ]]> */
  6. </script>
  7. <script type='text/javascript' src='templates/模板名称/snow-effect.htm'></script>
  8. <script type='text/javascript' src='templates/模板名称/snow-js.min.htm'></script>
  9. <script type='text/javascript'>
  10.                         (function( $ ) {
  11.                                 var snowMax = 45;
  12.                                 var snowColor = new Array("#aaaacc","#ddddff","#ccccdd","#f3f3f3","#f0ffff");
  13.                                 var snowType = new Array("Times","Arial","Times","Verdana");
  14.                                 var snowEntity = "*";
  15.                                 var snowSpeed = 0.5;
  16.                                 var snowMaxSize = 50;
  17.                                 var snowMinSize = 22;
  18.                 var snowRefresh = 50;
  19.                 var snowZIndex = 2500;
  20.                 var snowStyles = "cursor: default; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;";

  21.                                 jQuery(document).trigger( 'loadWPSnow', [ snowMax, snowColor, snowType, snowEntity, snowSpeed, snowMaxSize, snowMinSize, snowRefresh, snowZIndex, snowStyles ] );

  22.                         })( jQuery );
  23.                        
  24. </script>
复制代码

最近看过此主题的会员

無名
访问时间:2025-08-02 21:53
9528
访问时间:2025-04-12 20:06

上一篇已经是第一篇主题

下一篇discuz修改添加隐藏附件背景图片_附件隐藏美化

点评
B Color Link Smilies

您还可以输入:个字符
X

 X

返回列表 发帖
 已经运行: