如果您想要為您的網站添加在線考試試卷答題填寫表單功能,那么使用jQuery是一個非常好的選擇。在本文中,我們將演示如何使用jQuery來制作一個通用的在線考試試卷答題填寫表單頁面,并添加左側懸浮答題欄和特效。

界面布局

我們需要創建一個基本的HTML界面,在其中包含所有的問題和選項。以下是一個例子:

<!DOCTYPE html>
<html>
<head>
	<title>在線考試試卷</title>
</head>
<body>
	<div id="wrapper">
		<h1>在線考試試卷</h1>
		<div id="questions">
			<div class="question">
				<h2>問題 1:</h2>
				<p>這是第一個問題的描述。</p>
				<ul>
					<li><input type="radio" name="q1" value="a"> 選項 A</li>
					<li><input type="radio" name="q1" value="b"> 選項 B</li>
					<li><input type="radio" name="q1" value="c"> 選項 C</li>
				</ul>
			</div>
			<div class="question">
				<h2>問題 2:</h2>
				<p>這是第二個問題的描述。</p>
				<ul>
					<li><input type="radio" name="q2" value="a"> 選項 A</li>
					<li><input type="radio" name="q2" value="b"> 選項 B</li>
					<li><input type="radio" name="q2" value="c"> 選項 C</li>
				</ul>
			</div>
		</div>
		<div id="sidebar">
			<ul>
				<li><a href="#q1">問題 1</a></li>
				<li><a href="#q2">問題 2</a></li>
			</ul>
		</div>
	</div>
</body>
</html>

在這個例子中,我們創建了一個包含兩個問題的試卷。每個問題都有一個問題描述和三個選項(A、B、C)。我們還創建了一個側邊欄,其中列出了每個問題的標題,并使用錨點鏈接到相應的問題。

jQuery腳本

我們將添加一些jQuery代碼來使頁面具備交互性。以下是代碼:

$(document).ready(function() {
	// 隱藏所有問題除了第一個
	$('.question').not(':first').hide();

	// 當用戶點擊側邊欄中的鏈接時,滾動到相應的問題
	$('#sidebar a').click(function(event) {
		event.preventDefault();
		var target = $($(this).attr('href'));
		if (target.length) {
			var top = target.offset().top;
			$('html, body').animate({scrollTop: top}, 'slow');
		}
	});

	// 當用戶選擇答案時,更新側邊欄中的答題情況
	$('input[type="radio"]').click(function() {
		var question = $(this).closest('.question');
		var index = $('.question').index(question) + 1;
		var value = $(this).val();
		$('#sidebar a[href="#q' + index + '"]').addClass('answered');
	});
});

這些代碼實現了以下功能:

  • 隱藏所有問題除了第一個。
  • 當用戶點擊側邊欄中的鏈接時,滾動到相應的問題。
  • 當用戶選擇答案時,更新側邊欄中的答題情況。

CSS樣式

我們需要添加一些CSS樣式來修飾頁面。以下是代碼:

#wrapper {
	width: 800px;
	margin: 0 auto;
}

#questions {
	float: left;
	width: 600px;
	margin-right: 50px;
}

.question {
	margin-bottom: 20px;
}

.question h2 {
	font-size: 18px;
}

.question ul {
	list-style-type:none;
	margin: 0;
	padding: 0;
}

.question ul li {
	font-size: 14px;
	margin-bottom: 5px;
}

#sidebar {
	float: left;
	width: 150px;
	background-color: #eee;
	padding: 10px;
}

#sidebar ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#sidebar ul li {
	margin-bottom: 5px;
}

#sidebar a {
	display: block;
	padding: 5px;
	color: #333;
	text-decoration: none;
}

#sidebar a:hover,
#sidebar a.answered {
	background-color: #333;
	color: #fff;
}

這些樣式將頁面布局為兩列,左側是問題和選項,右側是側邊欄。側邊欄中的鏈接使用了一些基本的樣式,當用戶選擇答案時,會添加一個額外的類“answered”,以表示該問題已被回答。

在本文中,我們演示了如何使用jQuery來制作一個通用的在線考試試卷答題填寫表單頁面。我們還添加了一個左側懸浮答題欄和一些特效。這個頁面可以方便地擴展到任意數量的問題和選項,并且易于維護和使用。