2012-09-17 20 views
0

后,我试图设置margin-留下了一个特定的div(姑且称之为:DIV1)的是:宽度给人一种不同的结果,而/加载页面

-1 * $('.div2 canvas').width()/2 

所以我用以下一行代码要做到这一点:

$('#div1').css('margin-left', -1 * $('.div2 canvas').width()/2); 

页面加载后,它给我的结果是-150。但是,如果我的运行在Chrome控制台代码完全相同的线,它给出正确的结果:-360因为DIV2的总宽度是720

我尝试添加:

$(window).load(function() { }); 

$('#div1').load(function() { }); 

$('.div2 canvas').load(function() { }); 

,但没有帮助。

我的假设是,div2的宽度正在改变的基础上,正在被注入的信息,并且一旦页面准备好的总宽度为720px(在这个例子中),但我不完全知道如何一旦整个页面被加载并且所有内容都被注入,就运行这行代码。

+0

你真的知道格式化你的问题吗? –

+0

有没有更好的方式来格式化这个问题?我将不胜感激一些指导:)谢谢! – user220755

+1

为你而做。 :)我的意思是代码格式。 :) –

回答

0
$(window).load(function() { }); 

应该有所帮助。你也可以尝试

$(document).ready(function() { }); 

,但如果这样做没有帮助,你需要向我们展示你的页面(或包含问题演示)和后注入的东西代码。

0

你会想把这段代码包装在一个文档就绪回调中。

$(document).ready(function() { 
    // Your code 
} 

这确保了HTML被加载,但它并不关心加载的图像,这是在.load用武之地,如果你的div包含图像标记,你需要两个回调。

$(document).ready(function() { // Ensures that your document is loaded 
    $('.div2 canvas').load(function() { // Ensures that the images within our tag are loaded 
     // Your code 
    } 
} 

如果我们不括在本文件第二个回调定义准备好了,我们指的是$标记(”。DIV2画布)将不存在,因此没有负载的回调将被绑定。

+0

出于某种原因,这根本不起作用(甚至没有得到它用来获得的150像素)... – user220755