1 回答
TA贡献1824条经验 获得超5个赞
您在这里重复了很多事情,导致它没有得到优化。如果你会使用函数,请使用它们!如果没有,更好的方法是:
function populateTable() {
for (var i = 0; i < data.length; i++) {
// Look how I have made the file addition here.
var row = '<tr><td><a href="' + (data[i].type == "MOV" ? "video" : "image") + ".html?=" + data[i].file + '">' + data[i].title + "</a></td>";
row += "<td>" + data[i].year + "</td></tr>";
// Do the MOV vs. PNG thing/
row += "<tr><td>";
if (data[i].type == "MOV") {
row += `<div class="container">
<video autoplay muted loop id="main">
<source src="${data[i].file}" type="video/mp4" />
Your browser does not support HTML5 video.
</video>
</div>`;
} else {
row += `<div class="container">
<img src="${data[i].file}" alt="${data[i].title}" />
</div>`;
}
row += "</td></tr>";
$("#contents").append(row);
}
}
在上面的代码中:
看看我是如何在第 4 行添加文件的。
在第 7 行执行 MOV 与 PNG 的操作。
对于模板化的事情,使用How to read GET data from a URL using JavaScript? ,你可以做的是:
<html>
<body>
<div class="container">
<video autoplay muted loop id="main">
<source src="" id="src" type="video/mp4" />
Your browser does not support HTML5 video.
</video>
</div>
</body>
<script>
var params = new URLSearchParams(location.search);
document.getElementById("src").setAttribute("src", params.get('file'));
</script>
</html>
添加回答
举报