javascript - Javascript 在网格 HTML 中动态添加视频元素

标签 javascript html

我正在尝试在网格中显示视频,如此处的示例 http://jsfiddle.net/5qdojj83/ 所示

我已经修改了代码以动态添加来自JavaScript的视频,但现在网格的边框似乎具有不同的宽度。

我在 JS 中对视频使用了固定宽度,因为源视频可以具有不同的分辨率和大小。

下面的代码有什么问题吗?

<!DOCTYPE html>
<html>
<head>
<title>Responsive Image Grids Using CSS</title>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<style type="text/css">

.videoGrid {
    border-spacing: 2px;
    background-color: #333;
    width: 100%;
    height: 100% 
    border-collapse: collapse;
    text-align: center;
}

td {
    background-color:orange;
    border: 1px solid gray;
    padding: 6px;
    width: 33%;
    display: inline-block;
}

.videoBg {
    overflow: hidden;
}
.videoBg video{
    min-width: 100%;
    min-height: 100%;
}
</style>
</head>

<body>

<table class="videoGrid">
    <tr id="video_table">
    </tr>     
</table>

 <script>
loadImages();
 function loadImages(){

               var urls = ["http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4"
						  ];
                        
                for(var i = 0; i < urls.length; i++) {
        		var obj = urls[i];

                   var source = document.createElement('video');
                   source.width=400;
			       source.height=300;  
    			   source.src = obj;
                   source.controls = true;
    			   source.type = "mp4";
                   

					var td  = document.createElement("td");
                    var div = document.createElement("div");
                    div.className = "videoBg";
  					div.appendChild(source);
                    td.appendChild(div);

                    document.getElementById("video_table").appendChild(td);
		       }

    }

</script>

</body>
</html>

最佳答案

试试这个,

<!DOCTYPE html>
<html>
<head>
<title>Responsive Image Grids Using CSS</title>
<link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<style type="text/css">

.videoGrid {
    border-spacing: 2px;
    background-color: #333;
    width: 100%;
    height: 100% 
    border-collapse: collapse;
    text-align: center;
}

td {
    background-color:orange;
    border: 1px solid gray;
    padding: 6px;
    width: 33%;
    display: inline-block;
}

.videoBg {
    overflow: hidden;
}
.videoBg video{
    min-width: 100%;
    min-height: 100%;
}

video{
  width:100%;
  height:100%;
}
</style>
</head>

<body>

<table class="videoGrid">
    <tr id="video_table">
    </tr>     
</table>

 <script>
loadImages();
 function loadImages(){

               var urls = ["http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4",
							"http://www.w3schools.com/html/mov_bbb.mp4"
						  ];
                        
                for(var i = 0; i < urls.length; i++) {
        		var obj = urls[i];

                   var source = document.createElement('video');
                   
    			   source.src = obj;
                   source.controls = true;
    			   source.type = "mp4";
                   

					var td  = document.createElement("td");
                    var div = document.createElement("div");
                    div.className = "videoBg";
  					div.appendChild(source);
                    td.appendChild(div);

                    document.getElementById("video_table").appendChild(td);
		       }

    }

</script>

</body>
</html>

关于javascript - Javascript 在网格 HTML 中动态添加视频元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408373/

相关文章:

jquery - 如何在jquery中获取基于css类的span标签的值?

html - 如何将按钮右对齐?

php - 停止在 div 内的表中滚动表标题 <th>

php - 如何发布元素包含 'http://www.example.com?i=12&j=34' 等数据的 ajax 数据

javascript - 无法使 Node.js hello world 应用程序运行 [Fedora 21]

javascript - 如何为 ng-repeat 中的一次迭代添加动态跨度元素?

javascript - 动态添加/创建的 Mobiscroller 不起作用

Javascript node.js,设置要在另一个页面上使用的cookie

javascript - 在javascript中返回HTML代码?

javascript - 如何从 getusermedia 中的 firefox 和 chrome 中删除音频视频通话图标