即時通訊使用jquery ui選項卡。jquery ui標籤加載全部htm後呈現
有時,當我的頁面加載,顯示在頁面上的所有每個標籤的HTML,那麼它需要一點時間的選項卡顯示和HTML位於標籤內之前。從ui的角度來看,這個最初的閃爍是相當惱人的..有沒有辦法克服它?
即時通訊使用jquery ui選項卡。jquery ui標籤加載全部htm後呈現
有時,當我的頁面加載,顯示在頁面上的所有每個標籤的HTML,那麼它需要一點時間的選項卡顯示和HTML位於標籤內之前。從ui的角度來看,這個最初的閃爍是相當惱人的..有沒有辦法克服它?
您正在等待HTML渲染,這就是爲什麼你使用$(document).ready()
或者它的簡寫。
你可以做的是標籤下的部分(HTML),你應該把
<script>$('#tab').tab()</script>
//或.tabs()CNT記得
那就做對飛,你要知道了jQuery核心文件應該放在頭部分:)
一個不那麼好的方法是設置一個100%的高度和寬度覆蓋用z-index要隱藏頁面的一切,直到所有的UI渲染完成。
由於嵌入jQuery的正確的方法是利用當所有的頁面已完成加載的
$(document).ready(function(){
...
}
jQuery將被執行。這是100%的目標。您可以使用
一個竅門,就是添加一些JS,仍然使用jQuery但功能外 $(文件)。就緒(函數(){ ... }
// Class indicating that JS is enabled
$('html').addClass('js');
然後,在你身邊不想閃爍的東西最接近的CSS類,並添加一些CSS
/**
* For anything you want to hide on page load when JS is enabled, so
* that you can use the JS to control visibility and avoid flicker.
*/
html.js .myClass {
display: none;
}
然後,當然,你需要處理.myClass的知名度與一些JS,顯示它違背了我們在中定義的內容CSS規則。
這將盡可能快display: none
閃爍的東西,你將無法看到它閃爍。
一種辦法是修改到次級選項卡(那些誰不出現第一)的Z-index屬性,並在回調把原來的值回來了。
有同樣的問題。
我聲明瞭標籤「display:none;」在我的CSS。
當jQuery.tab()激發它應該正確渲染。
btw我知道它的骯髒和不實用,但多數民衆贊成在我能想到的唯一辦法可以列表它最快的方式可能:) – Val 2011-03-08 14:24:12