通过单击按钮调整带有 iframe 的容器的大小
Resizing a container with an iframe by clicking a button
标题中的问题差不多。这是我拥有的:
JS
function zoomvid() {
document.getElementsById('containervid').height="337.5px";
document.getElementsById('containervid').width="500px";
}
function unzoomvid() {
document.getElementsById('containervid').height="202.5px";
document.getElementsById('containervid').width="300px";
}
function resetsize() {
document.getElementsById('containervid').height="270px";
document.getElementsById('containervid').width="400px";
}
[编辑] 我试过这样做。 0 效果。
function resizing() {
var plus = document.getElementById("zoom");
var moins = document.getElementById("unzoom");
var normal = document.getElementById("reset");
var objet = document.getElementById("containervid");
if(plus) {
objet.style.height = "337.5px";
objet.style.width = "500px";
}
if(moins) {
objet.style.height = "202.5px";
objet.style.width = "300px";
}
if(normal) {
objet.style.height = "270px";
objet.style.width = "400px";
}
};
当然,在执行此操作时,我将 onclick="resizing()"
放在所有按钮上。
CSS
.containervid {
position: absolute;
top: 120px;
width: 400px;
height: 270px;
background-color: black;
}
#iframevid {
position: absolute;
align-self: baseline;
padding-bottom: 0;
width: inherit;
height: 230px;
overflow: hidden;
}
.containervid > button {
border-radius: 15px;
background-color: white;
font-family: monospace;
font-weight: 700;
position: absolute;
bottom: 11px;
outline: none;
border-style: none;
color: rgb(29, 29, 29);
}
HTML
<div class="containervid" id="containervid">
<iframe id="iframevid"
frameborder="0"
type="text/html"
src="https://www.dailymotion.com/embed/video/x3p85xq" allowfullscreen >
</iframe>
<button id="zoom" onclick="zoomvid()">+</button>
<button id="unzoom" onclick="unzoomvid()">-</button>
<button id="reset" onclick="resetsize()">reset</button>
</div>
我知道我的 js 是错误的,因为 1.dev 控制台在 inspect element 2 上说了它。我真的非常讨厌 js。有什么帮助吗?
Unzoom 应该是,好吧,缩小和缩放相反的大小,而 resetsize,好吧... 重置大小。
您可以使用 JQuery;
$('button').click(function() {
var plus = document.getElementById("zoom");
var moins = document.getElementById("unzoom");
var normal = document.getElementById("reset");
var objet = document.getElementById("containervid");
if(this==plus) {
objet.style.height = "337.5px";
objet.style.width = "500px";
}
if(this==moins) {
objet.style.height = "202.5px";
objet.style.width = "300px";
}
if(this==normal) {
objet.style.height = "270px";
objet.style.width = "400px";
}
});
或者你也可以像这样用JS做;
function zoomvid() {
document.getElementById('containervid').style.height="337.5px";
document.getElementById('containervid').style.width="500px";
}
function unzoomvid() {
document.getElementById('containervid').style.height="202.5px";
document.getElementById('containervid').style.width="300px";
}
function resetsize() {
document.getElementById('containervid').style.height="270px";
document.getElementById('containervid').style.width="400px";
}
在你的第一个代码部分,你写了 getElementsById
。这应该是 getElementById
并添加 ().style.height
第二个代码部分,如果你想知道点击了哪个按钮,那么更好的方法是使用 JQuery。
这是JQuery
document.getElementsByID('containervid').height = "337.5px";
有拼写错误。它被称为 getElementById
。作为 ID 的单个元素必须是唯一的,不能有多个。这也使它成为错误的选择器,因为您使用的是类而不是 ID。你需要使用 querySelector('.containervid')
。那么下一个错误是,你错过了你的选择器和高度之间的 .style 。所以应该是:
document.querySelector('.containervid').style.height = "337.5px";
每一行都出现同样的错误。
function zoomvid() {
document.querySelector('.containervid').style.height = "337.5px";
document.querySelector('.containervid').style.width = "500px";
}
function unzoomvid() {
document.querySelector('.containervid').style.height = "202.5px";
document.querySelector('.containervid').style.width = "300px";
}
function resetsize() {
document.querySelector('.containervid').style.height = "270px";
document.querySelector('.containervid').style.width = "400px";
}
.containervid {
position: absolute;
top: 120px;
width: 400px;
height: 270px;
background-color: black;
}
#iframevid {
position: absolute;
align-self: baseline;
padding-bottom: 0;
width: inherit;
height: 230px;
overflow: hidden;
}
.containervid>button {
border-radius: 15px;
background-color: white;
font-family: monospace;
font-weight: 700;
position: absolute;
bottom: 11px;
outline: none;
border-style: none;
color: rgb(29, 29, 29);
}
<div class="containervid" id="containervid">
<iframe id="iframevid" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/x3p85xq" allowfullscreen>
</iframe>
<button id="zoom" onclick="zoomvid()">+</button>
<button id="unzoom" onclick="unzoomvid()">-</button>
<button id="reset" onclick="resetsize()">reset</button>
</div>
标题中的问题差不多。这是我拥有的:
JS
function zoomvid() {
document.getElementsById('containervid').height="337.5px";
document.getElementsById('containervid').width="500px";
}
function unzoomvid() {
document.getElementsById('containervid').height="202.5px";
document.getElementsById('containervid').width="300px";
}
function resetsize() {
document.getElementsById('containervid').height="270px";
document.getElementsById('containervid').width="400px";
}
[编辑] 我试过这样做。 0 效果。
function resizing() {
var plus = document.getElementById("zoom");
var moins = document.getElementById("unzoom");
var normal = document.getElementById("reset");
var objet = document.getElementById("containervid");
if(plus) {
objet.style.height = "337.5px";
objet.style.width = "500px";
}
if(moins) {
objet.style.height = "202.5px";
objet.style.width = "300px";
}
if(normal) {
objet.style.height = "270px";
objet.style.width = "400px";
}
};
当然,在执行此操作时,我将 onclick="resizing()"
放在所有按钮上。
CSS
.containervid {
position: absolute;
top: 120px;
width: 400px;
height: 270px;
background-color: black;
}
#iframevid {
position: absolute;
align-self: baseline;
padding-bottom: 0;
width: inherit;
height: 230px;
overflow: hidden;
}
.containervid > button {
border-radius: 15px;
background-color: white;
font-family: monospace;
font-weight: 700;
position: absolute;
bottom: 11px;
outline: none;
border-style: none;
color: rgb(29, 29, 29);
}
HTML
<div class="containervid" id="containervid">
<iframe id="iframevid"
frameborder="0"
type="text/html"
src="https://www.dailymotion.com/embed/video/x3p85xq" allowfullscreen >
</iframe>
<button id="zoom" onclick="zoomvid()">+</button>
<button id="unzoom" onclick="unzoomvid()">-</button>
<button id="reset" onclick="resetsize()">reset</button>
</div>
我知道我的 js 是错误的,因为 1.dev 控制台在 inspect element 2 上说了它。我真的非常讨厌 js。有什么帮助吗? Unzoom 应该是,好吧,缩小和缩放相反的大小,而 resetsize,好吧... 重置大小。
您可以使用 JQuery;
$('button').click(function() {
var plus = document.getElementById("zoom");
var moins = document.getElementById("unzoom");
var normal = document.getElementById("reset");
var objet = document.getElementById("containervid");
if(this==plus) {
objet.style.height = "337.5px";
objet.style.width = "500px";
}
if(this==moins) {
objet.style.height = "202.5px";
objet.style.width = "300px";
}
if(this==normal) {
objet.style.height = "270px";
objet.style.width = "400px";
}
});
或者你也可以像这样用JS做;
function zoomvid() {
document.getElementById('containervid').style.height="337.5px";
document.getElementById('containervid').style.width="500px";
}
function unzoomvid() {
document.getElementById('containervid').style.height="202.5px";
document.getElementById('containervid').style.width="300px";
}
function resetsize() {
document.getElementById('containervid').style.height="270px";
document.getElementById('containervid').style.width="400px";
}
在你的第一个代码部分,你写了 getElementsById
。这应该是 getElementById
并添加 ().style.height
第二个代码部分,如果你想知道点击了哪个按钮,那么更好的方法是使用 JQuery。
这是JQuery
document.getElementsByID('containervid').height = "337.5px";
有拼写错误。它被称为 getElementById
。作为 ID 的单个元素必须是唯一的,不能有多个。这也使它成为错误的选择器,因为您使用的是类而不是 ID。你需要使用 querySelector('.containervid')
。那么下一个错误是,你错过了你的选择器和高度之间的 .style 。所以应该是:
document.querySelector('.containervid').style.height = "337.5px";
每一行都出现同样的错误。
function zoomvid() {
document.querySelector('.containervid').style.height = "337.5px";
document.querySelector('.containervid').style.width = "500px";
}
function unzoomvid() {
document.querySelector('.containervid').style.height = "202.5px";
document.querySelector('.containervid').style.width = "300px";
}
function resetsize() {
document.querySelector('.containervid').style.height = "270px";
document.querySelector('.containervid').style.width = "400px";
}
.containervid {
position: absolute;
top: 120px;
width: 400px;
height: 270px;
background-color: black;
}
#iframevid {
position: absolute;
align-self: baseline;
padding-bottom: 0;
width: inherit;
height: 230px;
overflow: hidden;
}
.containervid>button {
border-radius: 15px;
background-color: white;
font-family: monospace;
font-weight: 700;
position: absolute;
bottom: 11px;
outline: none;
border-style: none;
color: rgb(29, 29, 29);
}
<div class="containervid" id="containervid">
<iframe id="iframevid" frameborder="0" type="text/html" src="https://www.dailymotion.com/embed/video/x3p85xq" allowfullscreen>
</iframe>
<button id="zoom" onclick="zoomvid()">+</button>
<button id="unzoom" onclick="unzoomvid()">-</button>
<button id="reset" onclick="resetsize()">reset</button>
</div>