我正在开发一个基于Javascript的Flash applet替代品。该网站只在IE中出现渲染问题,在这种情况下,它表现出的行为让我有了最后的结果。
http://janetalasher.com/new/content/portfolio/artcloth/(这是页面)
IE做什么这么奇怪(仅在这种情况下)?如果您查看Firefox,您会在右侧看到一个包含缩略图的图像表。 IE6和IE7不显示此... 除非您处于打印预览状态。这不是一个CSS故障 - 我已禁用所有样式表,但错误仍然存在。我会提供更相关的源代码,但我甚至不知道问题出在哪里。我怀疑的.js文件(如果有任何帮助)是:
/common/gallery/display.js
/common/gallery/loader.js
好的 - 更新:它只能在打印预览模式下正确呈现。有人请向我解释这是怎么回事? div以正常模式存在,但表不会呈现。使用IE开发人员工具栏确认它并且所有单元格都存在。
答案 0 :(得分:2)
尝试在此处添加分号:
function loadGallery(xml)
{
thumbpath = $(xml).find("thumbpath").attr('dir') // add here
imagepath = $(xml).find("imagepath").attr('dir') // here
detailpath = $(xml).find("detailpath").attr('dir') // and here
cSheet = contactSheet(xml);
$('.contactSheet')[0].appendChild(cSheet);
display($(cSheet).find('img')[0]);
}
另外,在这一行:
jQuery.get('/new/content/portfolio/artcloth/gallery.xml' , 'xml' , function(data) { loadGallery(data); } ) // missing one here too
实际上,你的Javascript文件最后也缺少分号。确保浏览每个文件并在每行的末尾添加一个文件。
Javascript实际上并不需要它们,但为了理智并且确切地知道你的代码是什么,最好将它们放入。例如:
return
1
可以成为:
return;
1;
什么都不返回,不完全是预期的效果。
答案 1 :(得分:2)
根据Microsoft脚本编辑器,jQuery内部存在由此行引起的错误:
$('#lower').css('padding-left' , paddingLeft - (lowerRightProtrusion < 0 ? 0 : lowerRightProtrusion) + "px");
因为lowerRightProtogress是NaN,并且NaN < 0计算为false,您实际上将padding-left设置为“NaNpx”。不计算;)
有关MS脚本编辑器的信息,请参阅我之前的答案: Using the IE8 'Developer Tools' to debug earlier IE versions
答案 2 :(得分:0)
似乎IE没有采用这些风格。如果我以chrome打开页面,则说明div上会出现“float:left”样式。但是,在IE中并非如此。
您目前在文档正文中包含div。如果可以尝试将它们移动到头部。我正在谈论div id =“pageHead”的直接后代的链接和脚本标签。
(我正在使用IE6和开发人员工具栏来获取此信息)
答案 3 :(得分:0)
在/common/css/generic.css
:
div#information
{
margin-left:188px;
m\argin-left:94px; <------ not sure if that would cause this, but thought i would point it out
}