最近在做的ui遇到了這個問題。ui 大概長這樣:
使用者可以從左邊把element 拖曳到右邊的某個故事盒內。然後故事盒內的物件還可以透過拖曳重定順序。這個東西用了到jqury.ui 的sortable 功能。 故事盒的外層還用了一個div 包起來(overflow=scroll),來達到捲軸的效果。
不過後來發現,右邊的sortable list 在ie中(6,7) 會相對定位!! 也就是說當捲軸往下拉的時候,這些element 就跟著往下移動(畫面上看起來就像是固定在某個位置…) =.= 這怎麼會對呢? 後來trace 程式碼 發現在 ui.sortable.js(rev.5143) 中的第73行左右有一行長這樣:
if(!(/(relative|absolute|fixed)/).test(this.element.css('position'))) this.element.css('position', 'relative')
一般來說預設值是static(參考資料),所以嘛,你可以選擇註解掉,或是加上static 的判斷( 這樣跟註解掉有何不同XD)
這問題大概出在ie 跟 firefox/safari 對於position=relative這東東的解讀不同吧!
發表留言