2011-11-10 49 views
0

我已經添加了一個簡單的jQuery的slideDown函數到客戶端的網站,但他們希望通過JavaScript添加一些樣式,以便JS的任何人禁用他們仍然看到內容。用Javascript添加樣式到一個元素

<script> 
    $(".click").click(function() { 
     $(".morecontent").slideToggle("slow"); 
    }); 
</script> 

.morecontent當前設置爲顯示:通過樣式表沒有,所以基本上我想作爲反對樣式表

+4

你是自相矛盾:「通過JavaScript添加一些風格」和「與JS殘疾的人」不走到一起。如果他們禁用了JS,那麼您的腳本都不會運行。 –

+0

好,如果瀏覽器有js禁用,那麼你就不能添加樣式來顯示js的內容(因爲js是禁用的不是嗎?) –

+0

實際上你的問題是什麼? – mithunsatheesh

回答

1

要使用jQuery,設置使用的CSS,包括這種風格的腳本:

$(".morecontent").css("display", "none"); 

display:none屬性也可以使用.hide()進行設置。 注意:當文檔準備就緒時,您應該調用此代碼,即元素已被定義。要做到這一點,使用:

$(document).ready(function(){ 
    $(".morecontent").hide(); 
}) 

當JavaScript被禁用,該元素將是可見的(因爲display:none在樣式表已被刪除)。啓用JavaScript時,腳本會隱藏.morecontent,以便它可以在滑動

+0

你看過這個問題嗎?如果js被禁用,那麼你是解決方案,它不會工作嗎? –

+0

@PoelincaDorin你明白這個問題嗎?我已經在我的答案底部解釋了行爲。 –

+0

這工作得很好。對不起,我今天早上描述的能力很差(沒有早晨的咖啡) –

0

刪除樣式表的display:none和使用jQuery隱藏與類morecontent元素在頁面加載時:

<script> 
    $(".morecontent").hide(); 
    $(".click").click(function() { 
     $(".morecontent").slideToggle("slow"); 
    }); 
</script> 

這可能會導致閃爍,因爲頁面加載時隱藏元素。您可以通過隱藏頁面頂部的整個頁面$('body').hide();並在底部再次顯示它。

0

使用此:

$('.morecontent').hide(); 
0
<script> 
    $(".morecontent").css ({display: "none" }); 
    $(".click").click(function() { 
     $(".morecontent").slideToggle("slow"); 
    }); 
</script> 
相關問題