20-02-2011, 22:30
Teraz ci w 100% nie odpowiem, bo mam już nową wersję tego czegoś.
Może to to?
var $ob = $chmurki[i];
$ob.position().left <= 0 && !$ob.done)
Pod ob jest element tabeli który niby jest rozbudowanym o moje zmienne obiektem jquery, ale może jquery w chromie tutaj się gubiła/o? Chodzi dokładnie o position().left. Bo gdy trzymałem left w dodatkowej zmiennej okazało się, że działa.
Czyli przy początkowej deklaracji dodałem tą dodatkową zmienną:
$chmurki[i].left = .....
A potem wszystkie operacje robiłem w oparciu o tą zmienną.
Ale jak mówiłem. To już stara wersja, bo nowa jest na maksa uproszczona. Tam nawet to opacity nie musi być zmieniane, bo przecież chmurki nie znikają przy dotarciu do krawędzi, a po prostu wylatują za nią
Może to to?
var $ob = $chmurki[i];
$ob.position().left <= 0 && !$ob.done)
Pod ob jest element tabeli który niby jest rozbudowanym o moje zmienne obiektem jquery, ale może jquery w chromie tutaj się gubiła/o? Chodzi dokładnie o position().left. Bo gdy trzymałem left w dodatkowej zmiennej okazało się, że działa.
Czyli przy początkowej deklaracji dodałem tą dodatkową zmienną:
$chmurki[i].left = .....
A potem wszystkie operacje robiłem w oparciu o tą zmienną.
Ale jak mówiłem. To już stara wersja, bo nowa jest na maksa uproszczona. Tam nawet to opacity nie musi być zmieniane, bo przecież chmurki nie znikają przy dotarciu do krawędzi, a po prostu wylatują za nią

Kod:
var ile = 10;
var $chmurki = [];
var maxTop = 313-259;
var maxLeft = $(window).width();
var minSpeed = 0.5;
var maxSpeed = 1.8; //minSpeed + maxSpeed
for (i=0; i<ile; i++) {
$chmurki[i] = $('<span class="chmurka'+((Math.random(1)>0.5)?'2':'1')+'"></span>');
if (i < ile/2) {
$chmurki[i].left = Math.random()*(maxLeft/2);
$chmurki[i].css('left',$chmurki[i].left);
} else {
$chmurki[i].left = Math.random()*(maxLeft/2) + (maxLeft/2)
$chmurki[i].css('left',$chmurki[i].left);
}
$chmurki[i].css('top',Math.random()*maxTop);
$chmurki[i].css({'opacity':0.5 + Math.random(0.5)});
$chmurki[i].speed = minSpeed + Math.random()*maxSpeed;
$('.page_top').prepend($chmurki[i]);
$chmurki[i].show();
}
jQuery.animuj = function() {
for (i=0; i<ile; i++) {
var $ob = $chmurki[i];
$ob.left = $ob.left - $ob.speed;
$ob.css('left', $ob.left);
if ($ob.left <= -400) {
$ob.left = maxLeft;
$ob.css({
left : maxLeft,
top : Math.random()*maxTop,
opacity:0.5 + Math.random(0.5)
});
$ob.speed = minSpeed + Math.random()*maxSpeed;
$ob.removeClass().addClass('chmurka'+((Math.random(1)>0.5)?'2':'1'))
}
}
setTimeout(function() {
jQuery.animuj();
}, 33);
}
if (ile>0) {
jQuery.animuj();
}