我已经冒险到这里关于彩盒调整大小问题,div属性和许多其他事情的任何和所有帖子!无论如何,这段非常简单的代码正在把我推上墙,我想知道它是否无法回答?
<script type="text/javascript">
$(document).ready(function () {
$("#text").load("<%= Model.FileLocation %>");
$.fn.colorbox.resize();
});
</script>
<div id="text"></div>
以上是代码(我想 - 应该像魅力一样)。我已经尝试使用$ .get并将resize放入回调中,使用超时并用函数分隔。
我还验证了没有任何内容被破坏,正在加载文本(使用$(“#text”)进行提醒,因为消息显示加载的文本。此外,我可以指定宽度和/或高度调整大小功能,他们找工作,但是,我不能根据加载的内容做到这一点。
对不起啰嗦的帖子...对于世界上为什么这个东西不会调整大小的任何想法?
答案 0 :(得分:4)
请尝试等待内容实际加载。
<script type="text/javascript">
$(document).ready(function () {
$("#text").load("<%= Model.FileLocation %>", function() {
$.fn.colorbox.resize();
});
});
</script>
<div id="text"></div>
答案 1 :(得分:2)
感谢任何阅读并试图找出原因导致其无效的理由,但我终于找到了解决办法。
看来由于某种原因,即使将resize()
置于成功回调中,它仍然过早被调用。我能够打开firebug并在命令行中手动输入colorbox.resize()
函数,加载后它工作正常,即使回调失败。
所以我做的就是这个
$(document).ready(function () {
jQuery.ajaxSettings.async = false;
$('#text').load('<%= Model.FileLocation %>');
$.fn.colorbox.resize();
});
将ajax中的async
设置为false会强制它被依次调用,现在它运行良好并且加载速度非常快。