簡體   English   中英

Chrome:顯示:內聯古怪…

[英]Chrome: display: inline weirdness…

我陷在一個非常奇怪的問題上,我無法弄清楚到底發生了什么...不幸的是,由於它是內部開發中的,所以我無法鏈接到該頁面,但問題如下:

我的頁面有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:inline(而不是當前顯示:none)的gif,它在Chrome中就可以正常顯示了。 所有這些使我認為JS + Chrome可能是問題所在---但我不確定。 :/

哦,還有一點額外的怪異-如果我單擊A,則什么也不會發生。 如果然后單擊B,則顯示A的gif!

總而言之,我不知道發生了什么,但我希望這里的人能啟發我!

提前致謝!

編輯:我已經將示例代碼放在http://jsbin.com/uzosu3/edit上

如果您不想使用塊,因為它會將圖像下移一行。

嘗試使用

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

可能想在IE瀏覽器中檢查它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM