我在这里第一次呼救。不确定我的标题是否正确明确,但这是我现在唯一能想到的标题。我已经在这里呆了 2 天了,我读了很多不同的东西,我想我完全困惑了。我会尽量精确。这是我的问题,
首先,这是我基于的jQuery代码:
$thumbnails.find( 'a' ).each( function() {
pictures.push({
src: $( this ).attr( 'href' ),
title: $( this ).find( 'img' ).attr( 'title' ),
valign: $( this ).find( 'img' ).data( 'valign' )
});
})
你注意到图片,推到那里。现在,这和,
$.vegas( 'slideshow', {
backgrounds: pictures,
delay: 4000,
fade:5000
})( 'overlay' );
请注意背景属性如何使用图片来获取所需的图像名称。我现在不确定如何调用图片。它是一个关联数组还是一个对象?
无论如何,我不想从HTML节点获取图像的文件名。我正在使用PHP在服务器上的目录中获取文件名,并使用这些文件名生成XML文档。这是在我的PHP脚本中生成XML文档的部分,(我只需要5张图像来满足我的需要)
header("Content-type: text/xml");
echo '<?xml version="1.0"?>';
echo "<img>";
for($i=0;$i<5;$i++){
echo "<src>img/" . $rep_aleatoire[$i] . "/" . $img_aleatoire[$i] . "</src>";
echo "<title>" . $img_aleatoire[$i] . "</title>";
}
echo "</img>";
这就是XML文档的样子,
<img>
<src>img/portraits/DSC_0161.jpg</src>
<title>DSC_0161.jpg</title>
<src>img/nature/DSC_0019 copy-tych 3.jpg</src>
<title>DSC_0019 copy-tych 3.jpg</title>
<src>img/portraits/DSC_0157.jpg</src>
<title>DSC_0157.jpg</title>
<src>img/editions/DSC_0053.jpg</src>
<title>DSC_0053.jpg</title>
<src>img/editions/DSC_Ant.jpg</src>
<title>DSC_Ant.jpg</title>
</img>
这是我用来获取XML数据的JQUERY部分,
$.get("main.php", function(data){
var rep = new Array;
var file = new Array;
$(data).find("img").each(function(){
$(this).find('src').each(function(i){
rep[i] = $(this).text();
});
$(this).find('title').each(function(i){
file[i] = $(this).text();
});;
for(i=0;i<rep.length;i++){
pictures.push({
src: $(rep[i]),
title: $(file[i])
});
}
});
});
图片已初始化超出此功能的范围,因此它应该在我需要它的任何地方可用,但事实并非如此。如果我尝试在该函数之外访问它,它是空的。此外,当在该函数的范围内时,它所包含的只是对象。我什至不知道我是否以正确的方式做这件事。我尝试了很多不同的方法,我什至不记得了。我只是无法获取XML文档中生成的实际数据。
我当然希望我已经足够清楚了,你们明白我所追求的是什么。我只想生成正确的图片格式,以便在$vegas功能中使用。
任何帮助将不胜感激。
首先。始终声明变量。
错误的声明:
var rep = new Array;
var file = new Array;
应该是
var rep = new Array();
var file = new Array();
甚至更好:
var rep = [];
var file = [];
声明i
,您在上一个循环中使用。
for(var i=0;i<rep.length;i++){
...
甚至更好:
var i;
for(var i=0;i<rep.length;i++){
..
完成此操作后,您会注意到您尝试通过数组值访问 jquery 对象。
pictures.push({
src: $(rep[i]),
title: $(file[i])
});
你可能的意思是:
pictures.push({
src: rep[i],
title: rep[i]
});
当然,请确保var pictures
在您使用它的所有范围内都可用。