Hallo zusammen
Ich habe das Script von Ivan http://www.jqueryrain.com/?LeiRAVGW bereits soweit angepasst (bekommen), dass anstatt dem html-Sonderzeichen "Snowflake" ein Bild eingebunden wird.
Nun schaffe ich es aber nicht, das sich das Bild auch in der Grösse zufällig ändert, da ich "font-size" ja nicht einfach mit "width" und "height" austauschen kann.
Hätte jemand eine Idee, wie ich das Script so abändern muss (minSize, maxSize, font-size...), dass der gewünschte Effekt auftritt? -.-
Das ist mein Ansatz:
Ich habe das Script von Ivan http://www.jqueryrain.com/?LeiRAVGW bereits soweit angepasst (bekommen), dass anstatt dem html-Sonderzeichen "Snowflake" ein Bild eingebunden wird.
Nun schaffe ich es aber nicht, das sich das Bild auch in der Grösse zufällig ändert, da ich "font-size" ja nicht einfach mit "width" und "height" austauschen kann.
Hätte jemand eine Idee, wie ich das Script so abändern muss (minSize, maxSize, font-size...), dass der gewünschte Effekt auftritt? -.-
Das ist mein Ansatz:
Code:
(function($){
$.fn.snow = function(options){
var $flake = $('<div id="flake" />').css({'position': 'absolute', 'top': '-50px','background-image': 'url(../img/snowball.png)', 'height': '37px', 'width': '37px'}),
documentHeight = $(document).height(),
documentWidth = $(document).width(),
defaults = {
minSize : 30,
maxSize : 1000,
newOn : 350,
flakeColor : "#FFFFFF"
},
options = $.extend({}, defaults, options);
var interval = setInterval( function(){
var startPositionLeft = Math.random() * documentWidth - 100,
startOpacity = 0.1 + 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('.home-slider-wrapper')
.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);