单独将数据附加到另一个元素时,数组中的图像将被删除

时间:2014-01-03 01:59:12

标签: php jquery html arrays

    <?php 
$imgdir =   'dirimages/';
$images =   glob($imgdir    .   '*.{jpg,jpeg,png,gif}',GLOB_BRACE);

?>

<script>
jQuery(function(){  
    var phpvar  =   <?php echo json_encode($images) ?>;
    $.each(phpvar,function(id,image){
        jQuery('#slidediv').append('<img class="loadimg" src="' + image + '"/>');
        });
    $('#slidediv').on('click','.loadimg',function(){
        $(this).popup("show");
    });

});

每当我点击其中一张图片时,它都会加载&#39;叠加&#39; .popup的插件也尝试使用.append()。但是,每次单击其中一个图像时,都会将其从图像阵列中删除。有没有办法冻结&#39;数组或只是将图像作为参考,而不是“偷”&#39;图像?

1 个答案:

答案 0 :(得分:1)

这取决于你popup()函数的代码,但我的猜测是你将元素附加到其他地方,有效地将其从旧位置删除。

一个简单的解决方案是clone

$('#slidediv').on('click','.loadimg',function(){
    $(this).clone().popup("show");
});