我正在尝试使用以下内容创建淡入淡出效果...除了json数组的传递之外,我已被告知即将到来。目前没有显示图像。
//generate all the boxes
$.get('images.php',function(data){
for (var i=0; i < totalBoxes; i++){
var randomImage = data[Math.floor(Math.random() * data.length)];
$('<div class="pf-box"><img class="black" src="' + randomImage['black'] + '" /><img class="colour" src="' + randomImage['colour'] + '" /></div>').hide().appendTo('#bg').fadeIn('slow').filter('.colour').css("opacity", 0);
}
},'json');
//add the hover behavior to all the elements
$('.colour').hover(function() {
$(this).stop().fadeTo(700, 1);
},function() {
$(this).stop().fadeTo(700, 0);
});
和images.php
<?php
header('Content-type: application/json');
echo '[
{'black' : 'images/random/1.jpg', 'colour' : 'images/random/1-c.jpg'},
{'black' : 'images/random/2.jpg', 'colour' : 'images/random/2-c.jpg'}
]';
?>
答案 0 :(得分:2)
你不需要转义JSON字符串中的引号吗?否则,php解释器将无法发送您想要的所有内容,甚至可能会出现一些错误。
答案 1 :(得分:0)
使用randomImage.black而不是randomImage ['black']
答案 2 :(得分:0)
你的回声失败了,因为JSON输出中的单引号突破了回声。
用不同的引号括起你的字符串,这样你就可以正确回显:
<?php
header('Content-type: application/json');
echo "[
{'black' : 'images/random/1.jpg', 'colour' : 'images/random/1-c.jpg'},
{'black' : 'images/random/2.jpg', 'colour' : 'images/random/2-c.jpg'}
]";
?>
请注意使用双引号括起echo字符串,而不是您使用的单引号。 (如果你在字符串中有双引号,那么你就可以反转它并在外面使用单引号。)