如何传递javascript对象而不是手动键入图像名称

时间:2012-09-27 22:17:02

标签: javascript jquery

我正在使用CrossSlide jQuery plugin,文档显示以下代码:

<script>
  $(function() {
    $('#slideshow').crossSlide({
      sleep: 2,
      fade: 1
    }, [
      { src: 'picture1.jpg' },
      { src: 'picture2.jpg' },
      { src: 'picture3.jpg' },
      { src: 'picture4.jpg' }
    ])
  });
</script>

我想要做的是传入一个带有src属性的对象数组,而不是手动传入图片。我已经能够创建一个对象,但我不确定是否有办法做到这一点。

Javascript是否提供了获取对象并拥有它的任何方法/方法,可能在运行时,扩展等等?

如果您认为我应该考虑另一个插件,我愿意接受建议。

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,其他人说的是令人困惑,您希望动态创建Array具有src属性的对象。我假设您将这些图像存储在数据库中,并想要一种动态获取它们并将它们添加到幻灯片放映的方法。一种方法是这样的:

var data = [];

function buildImagesArray(array) {
  // get the images you want from somewhere, like a database perhaps?
  var images = methodToGoGetImages();
  // iterate over the images
  images.forEach(function (img) {
    // create new objects with a src property
    var imageObj = {};
    // add the path of the image as the value of the src property
    imageObj.src = img.url;

    // push this object into the data Array
    array.push(imageObj);
  };

}

buildImagesArray(data);

$(function() {
  $('#slideshow').crossSlide({
    sleep: 2,
    fade: 1
   }, data)
});

为了简洁起见,我留下了一些实施细节,但希望你能得到这个想法。