簡體   English   中英

有什么辦法可以使200個類似的div具有不同的文件(page0.svg,page1.svg…,page200.svg)

[英]Is there any way I can make 200 similar divs with different files (page0.svg, page1.svg…, page200.svg)

<div class="mySlides">
  <img src="1173/page0.svg" style="width:50%">
</div>

<div class="mySlides">
  <img src="1173/page1.svg" style="width:50%">
</div>

因此,我需要使用不同的.svg文件制作大約200個以上的div代碼,而文件名中唯一改變的是數字。 我正在嘗試創建一本數字圖書,並且所有頁面都具有.svg格式。

當然,有很多不同的方法可以做到這一點。 如上所述,與向DOM順序添加200 div相比,您可以使用片段來提供更好的性能。

var fragment = document.createDocumentFragment();

for(i=0;i<200;i++){
    var new_div = document.createElement("div");
    new_div.classList.add("mySlides");
    new_div.innerHTML += '<img src="1173/page'+i+'.svg" style="width:50%">';
    fragment.appendChild(new_div);
}

document.body.appendChild(fragment);

看到它在這里運行: https : //codepen.io/67hours/pen/gBMygW

在純JS中,您可以編寫如下內容。 與使用元素的innerHTML屬性進行HTML字符串操作/並置相比,使用document.createElement然后將新元素附加到父容器是一種更好的操作DOM的方法。

用硬編碼循環限制代替代表實際數字的變量(假設您還有一個0.svg ):

var IMAGE_COUNT = 200;
for (var i = 0; i < IMAGE_COUNT; i++) {
    var frag = document.createElement("div");
    var img = document.createElement("img");
    frag.classList.add('mySlides');
    frag.style = "width:50%;";
    img.src = '1173/page/' + i + '.svg';

    frag.appendChild(img);
    document.body.appendChild(frag);
}

for最多200次循環並動態生成html並將其附加到父div

var container = document.getElementById("container");
  var html = "";
   for(var i=0;i<=200; i++)
   {
    html += "<div class='mySlides'><img src='1173/page"+i+".svg' style='width:50%'></div>";
    }
    conatiner.innerHTML = html;

HTML

<div id="container">

</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM