2012-12-25 196 views
-1

我有JSON包含图像。它看起来像:getJSON,迭代,显示图像

["1.jpg","2.jpg","3.jpg","4.jpg","Thumbs.db","..","." .............] 

我可以用一个像访问它们一个:

data[0] 
data[1] 
data[2] 

不过,我想在一个特定的div动态显示所有这些图像一个以上的其他(一列) 。事情是这样的:

$(document).ready(function() { 

    updateProfil(); 

    function updateProfil() { 
     $.getJSON("./index_logg1.php", null, processCategory); 
    } 

    function processCategory(data) { 
     $.each(data, function() { 
      // the code ???? 
     }); 

     $("#my_user").html('<img src='+ ???? +' />'); 
     $("#my_user").hide().fadeIn(700); 
    } 

}); 

编辑:

嗨,

感谢您的答复。 我现在可以动态可视化图像(使用下面的代码),但问题是我希望能够捕获(动态)单击图像时的href值。 (然后送它通过jQuery后到PHP)

它显示在鼠标悬停的值,但他们捕捉时clicked.Nothing似乎到目前为止是工作没有运气...

代码:

enter code here 
    function updateProfil() { 
    $.getJSON("./index_logg2.php", null, processCustom); 
    } 

function processCustom(data) { 
    $.each(data, function(k, v) { 
    $(".panel").append('<center><a href="?cust='+ k +'"><img src="images/custom/'+ v +' "title="Click to set it" "></a></center><br />'); 

    /* 
    $(".panel").click(function() { 
var data= ??? 
    $.post("./index_logg2.php", { data: ??? }, updateProfil); 
    }); 
    */ 

    }); 
    } 

谢谢!

+0

而问题会是? –

+0

查看jQuery教程和API文档。它包含有关如何创建和添加元素的所有信息:http://docs.jquery.com/Tutorials,http://api.jquery.com。 –

回答

0

可以使用this$.each内,

function processCategory(data) { 

    $.each(data, function(){ 
     $("#my_user").append("<img src='"+this+"' />"); 
    }); 

    $("#my_user").hide().fadeIn(700); 
} 
0
$(document).ready(function() { 

    updateProfil(); 

    function updateProfil() { 

    html=""; 
    $.getJSON('./index_logg1.php', function(data) { 

     $.each(data, function(i) { 
      html+='<img src='+ data[i] +' />' 
     }); 

     $("#my_user").html(html); 
     $("#my_user").hide().fadeIn(700); 
    } 

}); 
0

我不知道这是具有最佳性能的解决方案,但加上一个其他的影像,确保瞬时加入之后。

function processCategory(data) { 
     $.each(data, function(i, val) { 
     $('#my_user').append($('<img>', { src: val, alt: 'pic' })); 
     }); 

     $("#my_user").hide().fadeIn(700); 
    }