JavaScript幻灯片数组
javascript slideshow array
我正在使用幻灯片 2 (http://www.electricprism.com/aeron/slideshow/) 在我的网站上显示几张图片,问题是图像的数量,它们的位置应该硬编码到 javascript 代码中。
我想使用数组(来自 PHP 文件输出)并以某种方式为"var 数据"分配新值,以便显示文件夹中的所有图像,而无需每次手动更新。有什么想法吗?
<script>
window.addEvent('domready', function(){
var data = { '5.jpg': { caption: '1' }, '2.jpg': { caption: '2' }, '3.jpg': { caption: '3' }, '4.jpg': { caption: '4' }};
new Slideshow('overlap', data, { captions: { delay: 1000 }, delay: 3000, height: 300, hu: 'images/', width: 400 });
});
</script>
如果你使用PHP,那么你可以很容易地做到这一点。
假设,您有将所有文件放入如下所示的数组中的逻辑:
$foo = Array("2.jpg" => "2", "3.jpg" => "3");
表示文件名和标题
然后,您可以执行以下操作:
<?php echo json_encode($foo); ?>
以输出它。
如果要在 js 块中将其输出到变量中:
var data = <?php echo json_encode($foo); ?>;
实际上应该呈现为:
var data = [{"2.jpg": "2"},{"3.jpg": "3"}];
另外,请记住,在您的示例中,您实际上并没有使用数组,而是使用对象。两者之间有着本质的区别。在输出中,我建议你将得到一个对象数组。你会像这样循环它:
Array.each(data, function(img) {
});
但是,由于密钥是动态的,因此很难进行迭代,因此需要Object.each
或Object.keys
或for (var key in obj) {}
才能获取属性。更好的数据结构是:
$foo = Array(Array("name" => "2.jpg", "caption" => "two"), Array("name" => "3.jpg", "caption" => "three"));
这意味着在你的JS循环中,你可以引用:
Array.each(data, function(img) {
img.name; // filename
img.caption; // title
});
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- 如何更改幻灯片放映的javascript数组中图片的大小
- 来自数据库数组的简单 Javascript 幻灯片
- JavaScript幻灯片数组
- 如何从图像数组创建一个非常简单的jquery幻灯片
- 简单的JavaScript图像幻灯片,无需预加载数组
- PHP数组中的Javascript幻灯片
- 如何使用jQuery通过数组循环图像来创建幻灯片
- 带有幻灯片数组的照片滑动图库
- 为什么幻灯片不能使用索引数组或index array.src
- 数组幻灯片显示与javascript不能顺利工作
- 从数组加载的幻灯片图像