2016年5月11日 星期三

[Jquery]逐題顯示的測驗系統寫作技巧

雲端測驗是系統的製作時,常常會需要逐題顯示。
較舊的方式利用參數重新查詢題目來顯示。
這種方式已較為單純的方式,純粹靠著後端程式語言即可完成。
當然相對地每次換題都有重新存取資料庫的效能問題。
在雲端測驗系統實在不太適合。
畢竟"測驗",當然是分秒必爭的情境。

因此我在這部分突發奇想(這種方式相信已經很多高手想到並大量使用),
第一次的存取資料庫取的題目時就先將所有的題目一次取出,並排列好的顯示於頁面上。

此時每一筆都放在某個標籤底下如。
<table>
    <tr>
           <td>第一題</td>
    </tr>
    <tr>
           <td>第二題</td>
    </tr>
    <tr>
           <td>第三題</td>
    </tr>
</table>
這樣排列下來,當然為了讓他可以被我們控制自然需要一些命名。
<table>
    <tr class="ltem">
           <td>第一題</td>
    </tr>
    <tr class="ltem">
           <td>第二題</td>
    </tr>
    <tr class="ltem">
           <td>第三題</td>
    </tr>
</table>
像這樣加入了Class標籤後我們利用Class來控制全部,
但這樣還是無法達到竹題顯示的要求。畢竟大家都是一樣的,因此我又加入了ID的標籤
<table>
    <tr class="ltem" id="ltem_1">
           <td>第一題</td>
    </tr>
    <tr class="ltem" id="ltem_2">
           <td>第二題</td>
    </tr>
    <tr class="ltem" id="ltem_3">
           <td>第三題</td>
    </tr>
</table>
如此一來每題的標籤就都不一樣了
此時可以引入jquery或直接使用javasscript。
我就用jquery來調整。
<script>
$(document).ready(function(){
    $(".ltem").toggle();          //將class="ltem" 的標籤轉為隱藏
    $("#ltem_1").toggle();    //將id="ltem_1" 的標籤轉為顯示
});
</script>

至於換題的按鈕就下次再作解釋了。
這算是我在玩toggle時發現的一個小技巧,相信已有人大量使用了。
感謝指教。

沒有留言:

張貼留言

[資安]社交工程

 社交工程 在資訊安全領域中所提出的"社交工程"議題,其實也可以說"溝通"一詞的另一個說詞。 人在討論交換訊息時的行為,正是所謂的社交工程的過程一模一樣,主要差異在於行為與意圖。 有心人士預計要蒐集他人的各種資訊使用的對話溝通方式,其中我們...