代码改变世界

雪花飘落代码

2019-02-26 11:33  改吧  阅读(1247)  评论(2编辑  收藏  举报
(function($) {
    $.fn.snow = function(options) {
        var $flake = $('<div id="flake" />').css({ 'position': 'absolute', 'top': '-50px' }).html('&#10052;'),
            documentHeight = $(document).height(),
            documentWidth = $(document).width(),
            defaults = { minSize: 10, maxSize: 20, newOn: 2000, flakeColor: "red" },
            options = $.extend({}, defaults, options);
        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);
    };
})(jQuery);
$.fn.snow({ minSize: 5, maxSize: 50, newOn: 2000, flakeColor: 'red' });