我有一系列信息放置在不同的div中。 我的div的构建是可以的,但所有的信息都被加载到第一个div中。将数组信息分隔到每个div中
如何将每个数组项放到相应的div中?
见下面我的JavaScript代码:
$(document).ready(function() {
var works = {
facebook : {
image : 'facebook.png',
description : 'Description One.',
website : 'http://www.facebook.com'
},// End facebook
google : {
image : 'google.png',
description : 'Description Two.',
website : 'http://www.google.com'
},// End google
adobe : {
image : 'adobe.png',
description : 'Description Three.',
website : 'http://www.adobe.com'
}// End adobe
};// End var works
for (var i in works){
// Construct the tree of div
$('<div/>', {
'id' : 'workId' + i,
'class' : 'work'
}).appendTo("#workListId");
$('<div/>', {
'id' : 'workFlipId' + i,
'class' : 'workFlip'
}).appendTo("#workId" + i);
$('<div/>', {
'id' : 'workDataId' + i,
'class' : 'workData'
}).appendTo("#workId" + i);
$('<div/>', {
'id' : 'workDescriptionId' + i,
'class' : 'workDescription'
}).appendTo("#workDataId" + i);
$('<div/>', {
'id' : 'workURLId' + i,
'class' : 'workURL'
}).appendTo("#workDataId" + i);
// Insert the content in each div
var pathBegin = '<img src="img/works/';
var pathEnd = '"/>';
$("#workFlipId" + i).html(pathBegin + works[i].image + pathEnd);
$("#workDescriptionId" + i).html('<p>' + works[i].description + '</p>');
$("#workURLId" + i).html('<a href="' + works[i].website + '">Read more...</a>');
}//End for
$(".work").bind("click",function(){
var $this = $(this);
if($this.data('flipped'))
{
$this.revertFlip();
$this.data('flipped',false)
}// End if
else
{
$this.flip({
direction:'lr',
color: '#454545',
speed: 200,
//content: $('.workData').html(),
onBefore: function(){
$this.html($this.siblings('.workData').html());
}
});// End $this.flip
$this.data('flipped',true);
}// End else
});//End function
}); // End Function
我会用一个对象来代替,这将可能使你的代码更干燥,更容易理解...... – elclanrs 2012-04-11 07:48:03
没有经过你这样做,但(PS一切工作,如果你只使用jQuery对于document.ready,为什么要使用它?我不会)。但它看起来像我复制ID。你不能那样做。 – 2012-04-11 07:49:51