Na obrazovke budem mat nahodne umiestneny maly obrazok (nahodna pozicia, cize nie vzdy na tom istom mieste).
Chcem, aby sa po kliknuti na ten obrazok tento obrazok presunul vzdy na jednu poziciu, v mojom pripade top: 65px, left:400px.
Skusal som toto:
Kód:
var relX = ev.pageX - $('#div1').offset().left;
var relY = ev.pageY - $('#div1').offset().top;
$('#div1').append('<div style="top:'+relY+'px; left:'+relX+'px; position:absolute; display:none;" class="nieco">obrazok</div>');
//$('#div'+cid).remove();
$('.nieco').show();
$('.nieco').animate({ "top": "-="+(ev.pageY-65)+'px', "left": "400px", opacity: 100 }, 1500, function()
{
});
Funguje mi to, ze to presunie hore na top:65, kedze tam pocitam polohu obrazka minus 65px, cize kdekolvek bude obrazok, tak sa presunie hore na tu poziciu.
Problem je s horizontalnym posunom, kedze neviem ci bude obrazok vlavo ci vpravo, neviem mu zadat ci ma ist vlavo ci vpravo, a nechcem zbytocne davat nejake podmienky, ze kde je obrazok tak podla toho urci smer atd.
neexistuje taka metoda, ze by som len zadal suradnice (absolute position na celej obrazovke) a ze by sa po kliku ten obrazok presunul presne na to miesto? Cize nie relativne od obrazka, ale presne definovane suradnice.
Druha vec je, ze hned po kliku aby zmizol ten obrazok z povodneho miesta, a po ukonceni animacie sa objavi na tej finalnej pozicii. To sa aj objavi, len nezmizne z povodneho miesta, cize zostane aj tam, hoci animacia prebehne.
Ked dam
Kód:
$('#div1').remove();
tak zmizne aj animacia, kedze tam je append k tomu divu.
Viete poradit?
// Spojený príspevok Štv 21.09.17 8:39o,, tak som predsa len pouzil podmienky
Kód:
var aa = $('#div1').offset().top;
var bb = $('#div1').offset().left;
var pos = 300;
if (bb <= pos) {
var move = (pos - bb);
var left = "+" + move + "px";
} else {
var move = (bb - pos);
var left = "-=" + move + "px";
}
a potom v animate funkcii len pouzijem premennu left a funguje to, presunie sa to na presne urcene miesto, nech je ten obrazok kdekolvek.
Problem este mam s tym, ze by sa hned ten div po kliku skryl na povodnom mieste a bol by viditelny len pri animacii
// Spojený príspevok Štv 21.09.17 9:05takze nakoniec som zrusil append, a animujem len hlavny div po kliknuti. Tym padom nepotrebujem pocitat poziciu ani podmienky, len definujem do animate funkcie napevno "top": '20px', "left": '300px', a po kliku to animuje presne na to miesto a navyse obrazok nezostane na povodnom mieste ale sa presuva.
Niekedy na to clovek pride skor sam