Chrome:显示:内联怪异......

时间:2010-09-02 08:45:48

标签: javascript html css google-chrome

我遇到了一个非常奇怪的问题,我无法弄清楚到底发生了什么...... 不幸的是,我无法链接到相关页面,因为它是在内部开发,但问题如下:

我有3个链接的页面 - A,B和C. 这些链接中的每一个都链接到动态生成的文件,并且可以轻松地创建这些文件几秒钟。因此,我们将用于生成这些文件的功能放在单独的页面上。 A,B和C请求相关页面;当页面生成了所需的文件时,它会响应用户随后下载的文件名。到目前为止,这么好 - 所有这一切都有效。

为了直观地指示活动,我们在这些操作开始/停止时显示/隐藏一个小的gif。 (A,B和C每个都有自己的图标)。 它们通过以下方式启用:

.getElementById().style.display = 'inline'; 

并通过以下方式禁用:

.getElementById().style.display = 'none'; 

这适用于B和C ---但不适用于A!

我知道它找到了正确启用的图像(通过alerts()以及在一秒钟内会变得清晰),我知道样式也已设置(出于同样的原因),但gif只是没有出现。 此外,这只发生在Chrome中 - Firefox和IE都显示图标就好了。 而且,不仅如此 - 如果我使用

.getElementById().style.display = 'block'; 

而不是

.getElementById().style.display = 'inline'; 

Chrome也会显示图片!我不想使用块,因为它将gif移动到它自己的一条线上是丑陋的,但至少它表明我有正确的图像等等。

此外,如果我不通过JS更改显示,而只是创建带有display的gif:inline(而不是当前显示:无),它在Chrome中显示得很好。 所有这些让我觉得JS + Chrome在某种程度上是个问题---但我不确定。 :/

哦,有点奇怪 - 如果我点击A,没有任何反应。如果我然后点击B,那么A的GIF就会出现!

总而言之,我不知道发生了什么,但我希望有人能够启发我!

提前致谢!

编辑:我已将示例代码放在http://jsbin.com/uzosu3/edit

1 个答案:

答案 0 :(得分:-1)

如果您不想使用块,因为它会将图像向下推。

尝试使用

.getElementById().style.display = 'inline-block';

可能想在IE浏览器中查看它。