2010-01-11 50 views
0

我正在爲一家光學公司工作。該公司與視力受損嚴重的人一起工作,有些人需要使用特殊設備才能查看網頁。ASP.NET在DIV標記中改變樣式

由於客戶需求的多樣性,我們計劃提供一個選項,允許客戶在查看時選擇(存儲在Cookie中,掛鉤到ASP.NET複選框的選項),它將會使頁面上的文字大小變大並刪除一些不需要的圖片。

文本大小設置在DIV標籤Style「font-size:##」中。我想要做的是當複選框未選中時,頁面將使用正常大小,並且當它被選中時,ASP.NET頁面將更改爲更大的字體。我不知道如何通過服務器端調用來更改DIV標記(客戶端)。

有關如何做到這一點的任何想法?

其他人在其他地方推薦我動態創建div標記服務器端(Response.Write()),但我不想使用它,如果有另一種方式。只是看起來什麼時候需要更多的開銷。

感謝,

回答

2

您可以設置divrunat="server"分配一個ID,並用它在服務器端進行交互。或者,您可以通過javascript立即在客戶端更改大小,並等待帖子記錄該選項。

+0

如果可能的話,我會使用javascript和cookie解決方案。內聯樣式也有些蹩腳,將來可能會導致問題(例如,內聯樣式會自動覆蓋所有CSS規則)。改用CSS類。 – dmp 2010-01-11 00:54:10

2

爲什麼你需要做那個服務器端? 我會做一個客戶端調用,捕獲檢查更改並使用javascript和jQuery來更改div元素中的字體大小。

您可以使用jQuery使它很容易。

<div><input type="checkbox" onclick="toggleFontSize(this)" /> Change Font Size</div> 

<div id="myDiv" style="font-size: 10px;"> 
Testing my new font size 
</div> 
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>  
<script type="text/javascript"> 
    function toggleFontSize(obj){ 
     if(obj.checked){ 
      $('myDiv').css('font-size', '20px'); // jQuery selector here 
     }else{ 
      $('myDiv').css('font-size', '10px'); // jQuery selector here 
     } 
    } 
</script> 
+0

它確定,但使用CSS類而不是:) – dmp 2010-01-11 00:54:47

+0

如果我們使用JavaScript,如果客戶端稍後不打回電話,我們如何保存cookie?*您可以使用客戶端代碼保存cookie。 我不像javascript/jQuery那樣熟悉,因爲我不必在我的項目中回覆它。 – Phillip 2010-01-12 14:58:55

+0

看看這裏http://blazonry.com/javascript/cookies_save.php – Gabe 2010-01-12 16:25:10