2012-03-07 53 views
0

我有類似這樣的標記:jQuery的下拉一直營業到完整的頁面加載

<ul class="dropdown"> 
<li><a href="/home">Home</a></li> 
<li><a href="/about">About Us</a></li> 
<li><a href="#">Courses</a> 
<ul> 
    <li><a href='whatever'>A Level</a></li> 
    <li><a href='whatever'>Arts</a></li> 
    <li><a href='whatever'>Commerce</a></li> 
    <li><a href='whatever'>I.B.</a></li> 
    <li><a href='whatever'>Science</a></li> 
    </ul> 

</li> 
<li><a href="/college/collegeFinder">Find A College</a></li> 
<li><a href="/college">College Reviews</a></li> 
<li><a href="/contact">Contact Us</a></li> 

</ul> 
</nav> 

和jQuery的:

$(document).ready(function(){ 
mainmenu(); 
$('#slider1').bxSlider({ 
    autoHover: true, 
    auto: true, 
    pause: 7000, 
    prevImage: 'images/upleft.png', 
    nextImage: 'images/upright.png' 
}); 

function mainmenu(){ 
    $(" .dropdown ul ").css({display: "none"}); // Opera Fix 
    $(" .dropdown li").hover(function(){ 
    $(this).find('ul:first').css({visibility: "visible",display: "none"}).slideDown(200); 
     },function(){ 
     $(this).find('ul:first').slideUp(200); 
    }); 
} 
}); 

編輯:(忽略bxslider部分)

我不是很用jquery很好,只是從一些教程中選擇了這個腳本。基本上,當頁面加載時,下拉框打開,直到頁面的其餘部分加載。這只是一秒鐘或2秒,但它真的很煩人。 在這裏可以看到:passout.co.in 任何想法?

+0

http://jsfiddle.net/UDcYD/7/其工作正常?有什麼問題 – Ghostman 2012-03-07 11:49:55

+0

靈魂,我認爲這是沒有太多渲染。無論如何,現在它的固定 – supernoob 2012-03-07 12:15:22

回答

0

爲ul.dropdown添加CSS規則以顯示:none或opacity:0,這更適合。這樣,在頁面加載時,它會一直保持隱藏狀態,直到你的jQuery被激活。

乾杯!

+0

我還必須添加$('。dropdown li')。css({opacity:1});除了在CSS中將不透明度更改爲0之外,還包括jQuery。但是,這是有效的。 – supernoob 2012-03-07 12:16:00

1

你可以把它在默認情況下被隱藏與CSS:

ul.dropdown li 
{ 
    display: none; 
} 
0

其所謂FOUC(閃存無樣式內容),它可以通過隱藏你想要顯示的東西,或應用的造型來避免或使用jquery冒泡事件。所以編寫一些可以在頁面加載時隱藏下拉菜單的CSS類。

相關問題