jquery 调整父子大小
我有一个带有类嵌入和唯一 ID 的 div 容器。在容器 div 内,我有一个使用 iframe 或对象的嵌入播放器代码。例如:
<div class="embed" id"id21" style="width:480px; height:390px;">
<iframe width="480" height="390" src="http://www.youtube.com/embed/Oe_3KgfcCXs" frameborder="0" allowfullscreen></iframe>
</div>
当我调整 div 容器的大小时,我希望其中的播放器也调整大小。嵌入代码具有宽度和高度属性。我执行了以下操作,但无法使其工作。我需要通过容器的 id 来引用容器,因此,如果我有另一个具有不同 id 的容器,则调整大小应该仅对正在调整大小的容器生效,而不是对其他容器生效。
$('.embed').live({
resize: function(event, ui) {
var id = this.id;
var height = $(id).height();
var width = $(id).width();
$(id).contents().attr({'width':width,'height':height});
}
});
I have a div container with class embed and unique id. Inside the container div i have an embeded player code using either iframe or object. Ex:
<div class="embed" id"id21" style="width:480px; height:390px;">
<iframe width="480" height="390" src="http://www.youtube.com/embed/Oe_3KgfcCXs" frameborder="0" allowfullscreen></iframe>
</div>
When i resize the div container, i want the player inside it to resize as well. the embed code have the attributes of width and height. I did the following but unable to get it to work. I need to reference the container by it's id, so if i have another container with a different id, resizing should only take effect on the container being resized and non of the other containers.
$('.embed').live({
resize: function(event, ui) {
var id = this.id;
var height = $(id).height();
var width = $(id).width();
$(id).contents().attr({'width':width,'height':height});
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这行不通吗?
Doesn´t this work?
如果您使用 CSS 以相对尺寸控制
iframe
的height
和width
,请说%
,然后调整其大小div
将自动调整iframe
的大小:只有当
.embed
具有定义的尺寸(如您的示例中所示)时,这才有效。编辑修改html、css并提供演示 jQuery:
html:
css
jQuery:
JS小提琴演示。
If you use CSS to control the
height
andwidth
of theiframe
in relative dimensions, say%
then resizing thediv
will automatically resize theiframe
:This will only work if
.embed
has, as in your example, defined dimensions.Edited to amend html, css and provide demo jQuery:
html:
css
jQuery:
JS Fiddle demo.
试试这个:
Try this: