head.js:奇怪的负HTML边距?

3
也许你们中的一些人已经有使用 head.js 的经验了。 我是第一次使用,遇到了一些问题:只要我尝试加载多个javascript文件,我的<html>标签就会被应用一个style="margin-left: -32767px;"
<script type="text/javascript">
   var path = "<?php bloginfo('template_directory'); ?>";

   head.js( path + "/js/jquery-1.5.min.js", path + "/js/css3-mediaqueries.js",
         path + "/js/jquery-cookie.js", path + "/js/scripts.js", function() { });
</script>

有什么想法为什么会发生这种情况吗?当我用Firebug删除html中的奇怪样式属性时,所有的javascript库都能正常工作。但是当页面加载时,内容会闪烁,一旦应用了这个负边距,页面上就什么也看不见了。

你有类似 FireBug 的工具可以查看 margin-left 属性是从哪里设置的吗?我猜测可能在你的 /js/css3-mediaqueries.js 文件中。 - drudge
2
哦,是的!你说得对!当我去掉它时,一切都正常了。有什么想法为什么会发生这种情况,但如果我只是正常嵌入它,就不会发生呢?我使用head.js正是因为我正在加载像mediaqueries.js这样的大型js文件。 - matt
1个回答

2
负边距是来自于css3-mediaqueries.js。
代码如下:
var _57 = document.documentElement;
_57.style.marginLeft = "-32767px";
setTimeout(function () {
    _57.style.marginTop = "";
}, 20000);

我不知道这个有什么用途,但你可以毫无问题地删除它。如果你不想这样做,那么我建议在html标签上应用样式。

style="margin-left:0 !important;"

或使用JS:

document.getElementsByTagName("HTML")[0].style.margin = "0"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接