Java?Script網(wǎng)頁(yè)設(shè)計(jì)案例詳解
1. JavaScript網(wǎng)頁(yè)設(shè)計(jì)案例
下面我將提供一個(gè)簡(jiǎn)單的JavaScript網(wǎng)頁(yè)設(shè)計(jì)案例,該案例將實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的待辦事項(xiàng)列表(Todo List)。用戶可以在頁(yè)面上添加新的待辦事項(xiàng),標(biāo)記它們?yōu)橐淹瓿桑约皠h除它們。這個(gè)案例將使用HTML來(lái)構(gòu)建頁(yè)面結(jié)構(gòu),CSS來(lái)美化頁(yè)面,以及JavaScript來(lái)添加動(dòng)態(tài)功能。
1.1 HTML (index.html)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Todo List</title> <link rel="stylesheet" href="style.css" rel="external nofollow" > </head> <body> <h1>Todo List</h1> <input type="text" id="todoInput" placeholder="Add new todo..."> <button onclick="addTodo()">Add Todo</button> <ul id="todoList"> <!-- Todo items will be added here --> </ul> <script src="script.js"></script> </body> </html>
1.2 CSS (style.css)
body { font-family: Arial, sans-serif; margin: 20px; padding: 0; } #todoList { list-style-type: none; padding: 0; } #todoList li { margin: 10px 0; padding: 10px; background-color: #f4f4f4; border: 1px solid #ddd; display: flex; align-items: center; justify-content: space-between; } #todoList li.completed { text-decoration: line-through; opacity: 0.5; } #todoInput { padding: 10px; margin-right: 10px; width: calc(100% - 120px); } button { padding: 10px 20px; cursor: pointer; }
1.3 JavaScript (script.js)
function addTodo() { const input = document.getElementById('todoInput'); const list = document.getElementById('todoList'); const itemText = input.value.trim(); if (itemText) { const itemElement = document.createElement('li'); itemElement.textContent = itemText; // Checkbox for marking todo as completed const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.onclick = function() { itemElement.classList.toggle('completed', this.checked); }; // Button for deleting todo const deleteButton = document.createElement('button'); deleteButton.textContent = 'Delete'; deleteButton.onclick = function() { list.removeChild(itemElement); }; // Append elements to the list item itemElement.appendChild(checkbox); itemElement.appendChild(document.createTextNode('\u00A0')); // Add space itemElement.appendChild(deleteButton); // Append list item to the list list.appendChild(itemElement); // Clear input field input.value = ''; } } // Optionally, add event listener to input field for Enter key press document.getElementById('todoInput').addEventListener('keypress', function(event) { if (event.key === 'Enter') { addTodo(); } });
1.4說(shuō)明
(1)HTML 部分定義了頁(yè)面的基本結(jié)構(gòu),包括一個(gè)輸入框用于輸入待辦事項(xiàng),一個(gè)按鈕用于添加待辦事項(xiàng),以及一個(gè)無(wú)序列表用于顯示待辦事項(xiàng)。
(2)CSS 部分美化了頁(yè)面,包括待辦事項(xiàng)列表的樣式、輸入框和按鈕的樣式。
(3)JavaScript 部分實(shí)現(xiàn)了動(dòng)態(tài)功能:
- 監(jiān)聽“添加待辦事項(xiàng)”按鈕的點(diǎn)擊事件,并調(diào)用
addTodo
函數(shù)。 addTodo
函數(shù)從輸入框中獲取文本,創(chuàng)建一個(gè)新的列表項(xiàng),并為其添加復(fù)選框和刪除按鈕。- 復(fù)選框用于標(biāo)記待辦事項(xiàng)為已完成,點(diǎn)擊時(shí)切換列表項(xiàng)的樣式。
- 刪除按鈕用于從列表中刪除待辦事項(xiàng)。
- 監(jiān)聽輸入框的
keypress
事件,以便在按下 Enter 鍵時(shí)也能添加待辦事項(xiàng)。
這個(gè)案例展示了如何使用HTML、CSS和JavaScript來(lái)創(chuàng)建一個(gè)具有基本動(dòng)態(tài)功能的網(wǎng)頁(yè)應(yīng)用。
2. JavaScript網(wǎng)頁(yè)設(shè)計(jì)案例不同的功能和設(shè)計(jì)思路展示
除了上述的待辦事項(xiàng)列表案例外,還有許多其他類似的JavaScript網(wǎng)頁(yè)設(shè)計(jì)案例,這些案例展示了不同的功能和設(shè)計(jì)思路。以下是一些常見的案例及其簡(jiǎn)要描述:
2.1 圖片畫廊(Image Gallery)
(1)功能描述:
- 展示一組圖片,并支持點(diǎn)擊放大查看。
- 使用HTML和CSS創(chuàng)建圖片網(wǎng)格布局。
- 使用JavaScript處理圖片點(diǎn)擊事件,顯示放大的圖片。
(2)代碼示例(簡(jiǎn)化版):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Image Gallery</title> <style> .gallery img { width: 100px; /* 或其他尺寸 */ height: auto; margin: 10px; cursor: pointer; } .modal { display: none; position: fixed; z-index: 1; /* 其他模態(tài)框樣式 */ } .modal-content { /* 放大圖片的樣式 */ } </style> </head> <body> <div class="gallery"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <!-- 更多圖片 --> </div> <div id="modal" class="modal"> <span class="close">×</span> <img class="modal-content" id="modalImg"> </div> <script> // JavaScript 代碼,用于處理點(diǎn)擊事件和顯示模態(tài)框 // ...(省略詳細(xì)實(shí)現(xiàn)) </script> </body> </html>
2.2 簡(jiǎn)易天氣應(yīng)用(Weather App)
(1)功能描述:
- 獲取并顯示天氣信息。
- 使用天氣API(如OpenWeatherMap)獲取實(shí)時(shí)天氣數(shù)據(jù)。
- 使用JavaScript動(dòng)態(tài)更新頁(yè)面內(nèi)容。
(2)代碼示例(簡(jiǎn)化版,需要替換API密鑰):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Weather App</title> </head> <body> <h1>Weather App</h1> <input type="text" id="cityInput" placeholder="Enter city"> <button id="getWeather">Get Weather</button> <div id="weatherResult"></div> <script> const apiKey = 'YOUR_API_KEY'; // 替換為你的API密鑰 document.getElementById('getWeather').onclick = function() { const city = document.getElementById('cityInput').value; fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric`) .then(response => response.json()) .then(data => { const temp = data.main.temp; const weatherDescription = data.weather[0].description; document.getElementById('weatherResult').innerHTML = `Temperature: ${temp}°C<br>Description: ${weatherDescription}`; }) .catch(error => { document.getElementById('weatherResult').innerHTML = 'City not found.'; }); }; </script> </body> </html>
2.3 動(dòng)態(tài)表格(Dynamic Table)
(1)功能描述:
- 展示一個(gè)表格,表格內(nèi)容可以動(dòng)態(tài)添加、刪除或修改。
- 使用HTML創(chuàng)建表格結(jié)構(gòu)。
- 使用JavaScript處理數(shù)據(jù)的增刪改操作,并動(dòng)態(tài)更新表格內(nèi)容。
(2)代碼示例(由于篇幅限制,僅提供概念性描述):
- 創(chuàng)建一個(gè)HTML表格,包含表頭和若干行。
- 使用JavaScript添加按鈕或輸入框,以便用戶輸入新數(shù)據(jù)。
- 編寫JavaScript函數(shù)來(lái)處理添加、刪除和修改數(shù)據(jù)的邏輯。
- 使用DOM操作動(dòng)態(tài)更新表格內(nèi)容。
這些案例涵蓋了網(wǎng)頁(yè)設(shè)計(jì)的不同方面,從基本的圖片展示到實(shí)用的天氣查詢,再到動(dòng)態(tài)的數(shù)據(jù)處理。它們都是學(xué)習(xí)JavaScript網(wǎng)頁(yè)開發(fā)的良好起點(diǎn),并可以根據(jù)實(shí)際需求進(jìn)行擴(kuò)展和定制。
到此這篇關(guān)于Java Script網(wǎng)頁(yè)設(shè)計(jì)案例的文章就介紹到這了,更多相關(guān)Java Script網(wǎng)頁(yè)設(shè)計(jì)案例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js實(shí)現(xiàn)有時(shí)間限制消失的圖片方法
這篇文章主要介紹了js實(shí)現(xiàn)有時(shí)間限制消失的圖片方法,實(shí)例分析了javascript操作setTimeout及圖片特效操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS獲取短信驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-05-05微信小程序?qū)崿F(xiàn)藍(lán)牙設(shè)備搜索及連接功能示例詳解
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)藍(lán)牙設(shè)備搜索及連接功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06基于JavaScript實(shí)現(xiàn)拖動(dòng)滑塊效果
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)拖動(dòng)滑塊效果,拖動(dòng)滑塊時(shí)數(shù)字進(jìn)行變化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02使用javascript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)總結(jié)篇
下面對(duì)使用JavaScript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)做一下總結(jié),各種定時(shí)跳轉(zhuǎn)代碼記錄如下,希望對(duì)大家有所幫助2013-09-09Laravel中常見的錯(cuò)誤與解決方法小結(jié)
大家在用Laravel框架期間可能會(huì)遇到了不少問題,現(xiàn)在我將自己遇到的一些問題總結(jié)出來(lái),有一些調(diào)試起來(lái)著實(shí)不太容易,本文篩選出幾個(gè),希望這篇文章能讓大家在PHP開發(fā)中少走一些彎路。2016-08-08JavaScript中call、apply、bind實(shí)現(xiàn)原理詳解
其實(shí)在很多文章都會(huì)寫call,apply,bind,但個(gè)人覺著如果不弄懂原理,是很難理解透的,所以這篇文章主要介紹了JavaScript中call、apply、bind實(shí)現(xiàn)原理的相關(guān)資料,需要的朋友可以參考下2021-06-06jQuery ajax(復(fù)習(xí))—Baidu ajax request分離版
你沒有看錯(cuò)標(biāo)題,本文的確是在講Baidu ajax,不過是很久很久以前的版本了,我們先分析一段簡(jiǎn)單的ajax代碼,來(lái)自早期的百度七巧板項(xiàng)目通過這個(gè)來(lái)先復(fù)習(xí)一遍ajax的知識(shí)2013-01-01javascript+html5+css3自定義彈出窗口效果
這篇文章主要為大家詳細(xì)介紹了javascript+html5+css3自定義彈出窗口效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10