javascript - Can't use divs from success function in AJAX -
i don't know why won't work me.
}).success(function(data){ if(data.status == 'success'){ // $("#useravatar").empty(); for(i = 0;i < data.id.length; i++){ $("#useravatar").prepend('<div id="av'+data.id[i]+'" class="avatar">'+data.avatar[i]+'</div>'); var dropdiv = $('#av'+data.id[i]); // code here dont work. no error. tried alert(data.id[i]); , fine. dropdiv.css({ left: 130, top: -190, opacity: 0, display: 'inline' }).animate({ left: 5, top: 10, opacity: 1 }, 7000, 'easeoutbounce'); } } });
if use code alone:
var dropdiv = $('#useravatar'); dropdiv.css({ left: 130, top: -190, opacity: 0, display: 'inline' }).animate({ left: 5, top: 10, opacity: 1 }, 7000, 'easeoutbounce');
will work div.
my question why first divs not working? how can make let div drop down animation?
edit:
i have tried above code in same file that: didn't work (the second function not called or not doing anything).
function getchatuser() { $.ajax({ type: "post", url: "../users/process.php", data: {getchatuser: "getchatuser"}, cache: false, datatype: 'json', async: false }).success(function (dat) { if (dat.status == 'success') { //$("#useravatar").empty(); (i = 0; < dat.id.length; i++) { $("#useravatar").prepend('<div id="av' + dat.id[i] + '" class="avatar">' + dat.avatar[i] + '</div>'); dropdivs(dat.id[i]); } } }); } function dropdivs(iddiv) { // alert(iddiv); ----------> try , works got 112 dropdiv = $('#av' + iddiv); dropdiv.css({ left: 130, top: -190, opacity: 0, display: 'inline' }).animate({ left: 5, top: 10, opacity: 1 }, 7000, 'easeoutbounce'); }
- demo http://jsfiddle.net/5fkjf/4/
- updated code show bounce effect suggested bdrx
- updated code use object, + fancy avatar ;)
var dat = { id: [1, 2, 3, 4], avatar: ['https://cdn2.iconfinder.com/data/icons/male-users-2/512/1-32.png', 'https://cdn2.iconfinder.com/data/icons/male-users-2/512/14-32.png', 'https://cdn2.iconfinder.com/data/icons/male-users-2/512/8-32.png', 'https://cdn2.iconfinder.com/data/icons/male-users-2/512/2-32.png'] }; (i = 0; < dat.id.length; i++) { $("#useravatar").prepend($('<div id="av' + dat.id[i] + '" class="avatar"><img src="' + dat.avatar[i] + '" alt="" /></div>').css({ left: 130, top: -190, opacity: 0 }).delay(i * 50).animate({ left: 5, top: 0, opacity: 1 }, 1500, 'easeoutbounce', function () { })); }
Comments
Post a Comment