динамически оживлять элемент при создании - PullRequest
3 голосов
/ 21 июля 2011

Я хочу динамически создавать элементы div, добавлять их в тело и устанавливать анимацию jQuery.

Здесь создаются элементы:

function drawSpot()
{
 var myH1 = document.createElement("div");
 myH1.style.position = "absolute";
 myH1.style.top = GetRandom(0,100)+"%";
 myH1.style.left = GetRandom(0,100)+"%";
 myH1.style.width="40px";
 myH1.style.height="40px";
 $("body").append(myH1);

}

И с того момента, как онидобавлены к телу, я хочу, чтобы запустить анимацию.

Ответы [ 4 ]

7 голосов
/ 21 июля 2011

Если вы уже используете jQuery, вы должны делать это полностью:

$('<div>', {
    css: {
        position:   'absolute',
        top:        GetRandom(0,100)+'%',
        left:       GetRandom(0,100)+'%',
        width:      '40px',
        height:     '40px'
    }
}).appendTo( document.body ).animate({
    left:  '100%'  // for instance
}, 2000);

Используя .appendTo(), у вас все еще есть ссылка на исходный объект и вы можете связать методы на нем.

Ссылка: Конструктор jQuery , .appendTo () , .animate ()

демо : http://jsfiddle.net/dkuVu/

1 голос
/ 21 июля 2011

Вы можете использовать: $(myH1).animate({left:'*randomvalue*', top:'*randomvalue*'},1000); после append.

http://jsfiddle.net/Wumrr/2/

1 голос
/ 21 июля 2011

Это должно работать

function drawSpot()
{
   var myH1 = '<div id="newDiv">Some Text</div>';
   $("body").append(myH1);

   $("#newDiv").css({'position' : 'absolute',
                     'top' : GetRandom(0,100)+"%",
                     'left' :GetRandom(0,100)+"%",
                     'width':'40px',
                     'height':'40px' 
                   });

   $("#newDiv").hide().fadeIn(500);
}
1 голос
/ 21 июля 2011

Используйте jQuery для создания элементов и анимируйте его при добавлении:

function drawSpot() {
 var myH1 = $("<div>").css({ position: "absolute",
                             top:      GetRandom(0,100)+"%",
                             left:     GetRandom(0,100)+"%",
                             width:    40,
                             height:   40 });
 $("body").append(myH1.animate(...));
}

http://jsfiddle.net/nagCf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...