本文实例讲述了jQuery实现的下雪动画效果。分享给大家供大家参考,具体如下:
html部分:
jquery.snow.js:
/** * jquery.snow - jQuery Snow Effect Plugin * * Available under MIT licence * * @version 1 (21. Jan 2012) * @author Ivan Lazarevic * @requires jQuery * @see http://workshop.rs * * @params minSize - min size of snowflake, 10 by default * @params maxSize - max size of snowflake, 20 by default * @params newOn - frequency in ms of appearing of new snowflake, 500 by default * @params flakeColor - color of snowflake, #FFFFFF by default * @example $.fn.snow({ maxSize: 200, newOn: 1000 }); */ (function($){ $.fn.snow = function(options){ var $flake = $('').css({'position': 'absolute', 'top': '-50px'}).html('❄'), documentHeight = $(document).height(), documentWidth = $(document).width(), defaults = { minSize : 10, maxSize : 20, newOn : 500, flakeColor : "#FFFFFF" }, optiOns= $.extend({}, defaults, options); //setInterval-setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。 //开始一个周期-开始添加雪花 var interval = setInterval( function(){ var startPositiOnLeft= Math.random() * documentWidth - 100, startOpacity = 0.5 + Math.random(), sizeFlake = options.minSize + Math.random() * options.maxSize, endPositiOnTop= documentHeight - 40, endPositiOnLeft= startPositionLeft - 100 + Math.random() * 200, duratiOnFall= documentHeight * 10 + Math.random() * 5000; $flake .clone() .appendTo('body') .css( { left: startPositionLeft, opacity: startOpacity, 'font-size': sizeFlake, color: options.flakeColor } ) .animate(//增加雪花动态效果 { top: endPositionTop, left: endPositionLeft, opacity: 0.2 }, durationFall, 'linear', function() { $(this).remove() } ); }, options.newOn); //结束周期-停止添加雪花 setTimeout(function(){ window.clearInterval(interval); },5000); }; })(jQuery);
不需要css样式
主要用到:setInterval-setInterval()
方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。& animate动画
运行效果:
附:完整实例代码点击此处本站下载。
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。