0

我在我的网站上添加了一个报价,我希望每次都更改报价。这行得通。但现在我还想添加一张随文字变化的图片。(它总是必须是相同的图片和相同的文字)。

我怎样才能做到这一点?

我的代码:

<script type=text/javascript> 
var delay="10"; //how many seconds you wnat the delay to be
var count='0';
var Texts=new Array();
Texts[0]="Je voelt je hier geen nummer, maar eerder een kleine schakel binnen een groot bedrijf";
Texts[1]="Hier komt een tweede quote van een medewerker";
Texts[2]="Hier komt een derde quote van een medewerker";
function changeText(){
document.getElementById('quote').innerHTML=Texts[count];
count++;
if(count==Texts.length){count='0';}
setTimeout("changeText()",delay*1000);
}
</script>
<body onLoad="changeText();">
<h3 id="quote"></h3>

谢谢!安妮利斯

4

3 回答 3

2

演示

创建一个<img>元素并更改您的数据结构:

var delay="10"; //how many seconds you wnat the delay to be
var count=0;
var Texts = [];
Texts.push({ image : 'image1.jpg', text : 'Je voelt je hier geen nummer, maar eerder' });
Texts.push({ image : 'image2.jpg', text : 'Je voelt je hier' });
Texts.push({ image : 'image3.jpg', text : 'Je voelt je hier geen nummer, maa' });

function changeText(){
    document.getElementById('quote').innerHTML=Texts[count].text;
    document.getElementById('image').src=Texts[count].image;
    count++;
    if(count==Texts.length){count=0;}
    setTimeout(changeText,delay*1000);
}

HTML:

<h3 id="quote"></h3>
<img src="" id="image" />

旁注:

  • []如果首选用于创建数组的语法var Texts = []
  • 通过使用Texts.push(),您可以附加到数组,而不必每次都设置下一个键
  • 不要将字符串传递给setTimeout,而是传递不带引号或括号的函数名称。
  • 设置count为 时0,不要将其用引号引起来,因为这会将其设置为字符串。
于 2013-07-18T08:19:36.347 回答
0

像这样的...

    <script type=text/javascript> 
    var delay="10"; //how many seconds you wnat the delay to be
    var count='0';
    var Texts=new Array();
    Texts[0]={ "text" : "Je voelt je hier geen nummer, maar eerder een kleine schakel binnen een groot bedrijf", "img" : "<your img1 path>"};
    Texts[1]={ "text" : "Hier komt een tweede quote van een medewerker", "img" : "<your img2 path>"};
    Texts[2]={ "text" : "Hier komt een derde quote van een medewerker", "img" : "<your img3 path>"};
    function changeText(){
        document.getElementById('quote').innerHTML=Texts[count].text;
        document.getElementById("your_img_tag_id").src = Texts[count].img;
        count++;
        if(count==Texts.length){count='0';}
        setTimeout("changeText()",delay*1000);
    }
</script>
于 2013-07-18T08:20:04.647 回答
0

另一个问题:现在,每次我重新加载时,它都会从第一张图片和报价开始。有没有办法改变这个?这样当浏览器加载时,它会随机选择一张图片并引用?

安妮利斯

于 2013-07-20T12:32:44.830 回答