为什么幻灯片无法使用索引数组或索引array.src进行

时间:2016-09-12 14:41:41

标签: javascript html

我正在创建一个简单的幻灯片,只是测试一些想法,我将在稍后进行扩展,提供一些不同的音频,视频和图片来源

为什么我输入

var MySlides = [];
Myslides[0] = "link";

var MySlides = [];
MySlides[0].src = "link";

我的幻灯片不起作用,但如果我输入

var MySlides= ("link1","link2","link3") the slider work 'the links being 
 jpegs'

是因为src不是对象数组的属性,而是  如果我使用最后一种方法将图像存储在数组中  然后将数组与图像数组结合[即索引,  然后使用src,它的工作方式与上一个方法相同。  是对象的好处,它允许我创建自己的  主程序中的小型迷你程序

即各公司的一页预订系统

并且可以任何人推荐和广泛的参考表我可以 使用或转换为pdf进行打印,显示方法,属性和 大多数对象的事件处理程序,[以表格格式],可能有一个 单一工作的例子,[如意]。

var MySlides = [];
 var Slider;

MySlides[0].src= "https://pixabay.com/static/uploads/photo/2016/05/12/20/58/water-lilies-1388690_960_720.jpg";


MySlides[1].src= "http://www.gettyimages.pt/gi-resources/images/Homepage/Hero/PT/PT_hero_42_153645159.jpg";


MySlides[2].src= "http://7606-presscdn-0-74.pagely.netdna-cdn.com/wp-content/uploads/2016/03/Dubai-Photos-Images-Photos-of-Dubai-800x600.jpg";

Slider[3] = new Image();
MySlides[3].src= "https://pixabay.com/static/uploads/photo/2016/05/12/20/58/water-lilies-1388690_960_720.jpg","http://www.w3schools.com/css/trolltunga.jpg";


var Slide = 0;

function ShowSlides(SlideNumber) {

        Slide = Slide + SlideNumber;

        if (Slide > MySlides.length - 1){
            Slide = 0;
        }
        if (Slide < 0) {
            Slide = MySlides.length - 1;
        }
        document.DisplaySlide.src = MySlides[Slide];

}
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content ='width=device - width, initial-scale=1.0, user scalable=no'/>

    <title></title>
</head>
<body>

<P align="center"><img src="http://www.gettyimages.pt/gi-resources/images/Homepage/Hero/PT/PT_hero_42_153645159.jpg" name="DisplaySlide" width="900" height="320" /><p>

    <table border=0>
        <tr>
            <td align=center>
                <input id="left" type="button" value="Back" onclick="ShowSlides(-1)">
                <input type="button" value="Forward" onclick="ShowSlides(1)">
            </td>
        </tr>
    </table>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

你有这个:

MySlides[0] = new Image();
MySlides[0].src= "...url...";

使MySlides[0]成为图像对象。然后你这样做:

document.DisplaySlide.src = MySlides[Slide];
^^^^^^^^^^^^^^^^^^^^^--- image node
                     ^^^^--- src attribute of image nod

因此,您要将完整的Image对象分配给DOM img节点的src。你不能这样做。 src需要一个网址,并且您需要填充一个对象。这就像用柴油填充汽油车,然后想知道为什么你不能在任何地方开车。

尝试

document.DisplaySlide.src = MySlides[Slide].src;
                                           ^^^^

代替。