我正在使用Jquery UI来允许用户使用视频播放器调整div的大小。 这是代码的摘录:
<script type="text/javascript">
$(function(){
$("#stream").resizable({
containment: "#content",
minHeight: $('#content').height(),
maxWidth: ($('#content').width() / 1.3)
});
});
</script>
<div id="stream">
<!-- Flash video player stuff -->
</div>
在呈现页面时,这可以正常工作。问题是当我触发一个事件,改变“#stream”div的内容时使用:
#('#stream').html(<--!Code for another video player-->);
执行此操作后,调整大小控件将消失,即使我再次调用$("#stream").resize()
也似乎不起作用。
我做错了什么或者我是否需要使用某种工作?
答案 0 :(得分:5)
即使#content
本身发生更改,窗口小部件仍将在您创建时指定的参数下运行。您可以完全destroy
小部件并重新创建它:
$("#stream").resizable("destroy").resizable({
containment: "#content",
minHeight: $("#content").height(),
maxWidth: $("#content").width() / 1.3
});
或者,不那么干扰,使用option
方法更新其操作参数:
$("#stream").resizable("option", {
minHeight: $("#content").height(),
maxWidth: $("#content").width() / 1.3
});
答案 1 :(得分:1)
您可以在#stream
中添加其他元素,例如
<div id="stream"><div class="cnt"></div></div>
并通过调用
更新内容$('#stream div.cnt').html(<--!Code for another video player-->);