【前端】使用 HTML、CSS 和 JavaScript 創建一個數字時鐘和搜索功能的網頁

文章目錄

  • ?前言
  • ?一、項目結構
  • ?二、HTML 結構
  • ?三、CSS 樣式
  • ?四、JavaScript 功能
  • ?五、運行效果
  • ?總結


標題詳情
作者JosieBook
頭銜CSDN博客專家資格、阿里云社區專家博主、軟件設計工程師
博客內容開源、框架、軟件工程、全棧(,NET/Java/Python/C++)、數據庫、操作系統、大數據、人工智能、工控、網絡、程序人生
口號成為你自己,做你想做的
歡迎三連👍點贊、?評論、?收藏

?前言

在本篇博客中,我們將介紹如何使用 HTML、CSS 和 JavaScript 創建一個包含數字時鐘和搜索功能的簡單網頁。這個網頁不僅具有現代的外觀,還能實時顯示當前時間,并允許用戶輸入搜索內容。

?一、項目結構

我們的項目結構如下所示:

test├── index.html├── myCss.css└── myJsp.js
  • index.html:主頁面文件,包含 HTML 結構和基本樣式。
  • myCss.css:自定義樣式文件,用于美化頁面。
  • myJsp.js:JavaScript 文件,負責實現時鐘和搜索功能的邏輯。

?二、HTML 結構

index.html 文件中,我們首先定義了基本的 HTML 結構。我們使用了 Bootstrap 框架來快速構建響應式布局。以下是主要的 HTML 代碼片段:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="XX科技公司 - 領先的軟件開發解決方案提供商"><title>XX科技公司 | 創新驅動未來</title><script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script><script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script><script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script><link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><link href="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/5.15.4/css/all.min.css" rel="stylesheet" type="text/css"><link rel="stylesheet" href="myCss.css">
</head>
<body>
<i class="fas fa-ellipsis-v uil uil-ellipsis-v dot-menu-btn" style="color:#fff" id="active-menu"></i>
<ul class="dot-menu" id="active-menu"><li class="menu-item" id="active-menu"><span class="clock-format-text" id="active-menu">24-Hour Format</span><div class="format-switch-btn" id="active-menu" date-format="12"></div></li>
</ul><div class="container"><div class="row height d-flex justify-content-center align-items-center"><div class="col-md-8"><div class="search"><i class="fa fa-search"></i><input type="text" class="form-control" id="search-input" placeholder="Have a question? Ask Now"><button class="btn btn-primary" id="search-button">Search</button></div></div></div>
</div><div class="time"><span class="hours">00</span><span class="dots">:</span><span class="minutes">00</span><div class="right-side"><span class="period">AM/PM</span><span class="seconds">00</span></div>
</div><div class="calender"><span class="month-name">Month</span>,<span class="day-name">Day</span><span class="day-num">00</span>
</div><script src="myJsp.js"></script>
</body>
</html>

?三、CSS 樣式

myCss.css 文件中,我們使用了一些 CSS 來美化頁面的外觀。以下是一些關鍵的樣式:

@import url("https://fonts.googleapis.com/css2?family=Poppins:weight@100;200;300;400;500;600;700;800&display=swap");* {font-family: 'Poppins', sans-serif;margin: 0;padding: 0;box-sizing: border-box;
}body {min-height: 100vh;display: flex;justify-content: center;align-items: center;background: #2e2e44;
}.height {height: 100vh
}.search {position: relative;box-shadow: 0 0 40px rgba(51, 51, 51, .1)
}.search input {height: 60px;text-indent: 25px;border: 2px solid #d6d4d4
}.search input:focus {box-shadow: none;border: 2px solid blue
}.search .fa-search {position: absolute;top: 20px;left: 16px
}.search button {position: absolute;top: 5px;right: 5px;height: 50px;width: 110px;background: blue
}.digital-clock {position: relative;color: #fff;background: #2e2e44;width: 425px;padding: 20px 45px;box-shadow: 0 5px 25px rgba(14, 21, 37, 0.8);border-radius: 10px;display: flex;justify-content: center;align-items: center;flex-direction: column;
}.digital-clock:before {content: '';position: absolute;background: linear-gradient(45deg, #24ff6d, #2f93f1, #ff5e9a);background-size: 200% 200%;top: -5px;left: -5px;bottom: -5px;right: -5px;z-index: -1;filter: blur(40px);animation: glowing 10s ease infinite;
}@keyframes glowing {0% {background-position: 0 50%;}50% {background-position: 100% 50%;}100% {background-position: 0 50%;}
}.time {position: relative;display: flex;justify-content: center;align-items: center;}.hours,
.dots,
.minutes {display: flex;justify-content: center;align-items: center;font-weight: 600;padding: 0 10px;line-height: 125px;
}.hours,
.minutes {font-size: 6.5em;width: 125px;
}.dots {font-size: 5em;color: #929292;
}.hours {background: -webkit-linear-gradient(90deg, #634dff, #5fd4ff);-webkit-text-fill-color: transparent;-webkit-background-clip: text;
}.minutes {background: -webkit-linear-gradient(90deg, #ff5e9e, #ffb960);-webkit-text-fill-color: transparent;-webkit-background-clip: text;
}.right-side {position: relative;display: flex;justify-content: center;align-items: center;flex-direction: column;margin-left: 10px;
}.period,
.seconds {font-size: 1.2em;font-weight: 500;
}.period {transform: translateY(-20px);background: -webkit-linear-gradient(90deg, #f7b63f, #faf879);-webkit-text-fill-color: transparent;-webkit-background-clip: text;
}.seconds {transform: translateY(16px);background: -webkit-linear-gradient(90deg, #24ff6d, #2f93f1);-webkit-text-fill-color: transparent;-webkit-background-clip: text;
}.calender {display: flex;justify-content: center;align-items: center;font-size: 1.3em;font-weight: 500;margin-bottom: 5px;background: -webkit-linear-gradient(90deg, #ae4af6, #ff98d1);-webkit-text-fill-color: transparent;-webkit-background-clip: text;
}.day-name,
.day-num,
.year {margin-left: 8px;
}.dot-menu-btn {position: absolute;top: 0;right: 0;margin: 10px;color: #efefef;font-size: 1.5em;cursor: pointer;
}.dot-menu {z-index: 999;position: absolute;top: 7px;right: 5px;list-style: none;background: #353e54;padding: 10px 20px;border-radius: 5px;box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);visibility: hidden;opacity: 0;transition: 0.4s ease;
}.dot-menu.active {visibility: visible;opacity: 1;
}.menu-item {display: flex;justify-content: center;align-items: center;
}.clock-format-text {color: #efefef;font-size: 0.9em;margin-right: 20px;
}.format-switch-btn {width: 35px;height: 15px;background: #485470;border-radius: 75px;box-shadow: inset 2px 2px 4px rgba(255, 255, 255, 0.1),inset -2px -2px 4px rgba(0, 0, 0, 0.2);cursor: pointer;display: flex;justify-content: center;align-items: center;
}.format-switch-btn:before {content: '';position: absolute;width: 14px;height: 14px;background: #ff5e9a;border-radius: 50%;box-shadow: 0 5px 25px #ff5e9a;transform: translateX(-10px);transition: 0.4s ease;transition-property: background, transform;
}.format-switch-btn.active:before {background: #0bff8d;box-shadow: 0 5px 25px #0bff8d;transform: translateX(10px);
}

?四、JavaScript 功能

myJsp.js 文件中,我們實現了數字時鐘和搜索功能。以下是相關的 JavaScript 代碼:

//js for switch clock formatconst formatSwitchBtn = document.querySelector(".format-switch-btn");formatSwitchBtn.addEventListener("click", () => {formatSwitchBtn.classList.toggle("active");var formatValue = formatSwitchBtn.getAttribute("date-format");if (formatValue === "12") {formatSwitchBtn.setAttribute("date-format", "24");}else {formatSwitchBtn.setAttribute("date-format", "12");}
});//Get Current Time In Javascript
function clock() {var today = new Date();var hours = today.getHours();var minutes = today.getMinutes();var seconds = today.getSeconds();let period = "AM";//set the time periodif (hours >= 12) {period = "PM";}//set 12 hour clock formatvar formatValue = formatSwitchBtn.getAttribute("date-format");if (formatValue === "12") {hours = hours > 12 ? hours % 12 : hours;}//add 0 for the value lower than 10if (hours < 10) {hours = "0" + hours;}if (minutes < 10) {minutes = "0" + minutes;}if (seconds < 10) {seconds = "0" + seconds;}document.querySelector(".hours").innerHTML = hours;document.querySelector(".minutes").innerHTML = minutes;document.querySelector(".period").innerHTML = period;document.querySelector(".seconds").innerHTML = seconds;
}
var updateClock = setInterval(clock, 1000);// get the date in jsvar today = new Date();
const dayNum = today.getDate();
const year = today.getFullYear();
const dayName = today.toLocaleString("default", { weekday: "long" });
const monthName = today.toLocaleString("default", { month: "short" });document.querySelector(".month-name").innerHTML = monthName;
document.querySelector(".day-name").innerHTML = dayName;
document.querySelector(".day-num").innerHTML = dayNum;
// document.querySelector(".year").innerHTML = year;//js for dot menu toglleconst dotmenuBtn = document.querySelector(".dot-menu-btn");
const dotMenu = document.querySelector(".dot-menu");
dotmenuBtn.addEventListener("click", () => {dotMenu.classList.toggle("active");
});document.addEventListener("click", (e) => {if (e.target.id !== "active-menu") {dotMenu.classList.remove("active");}
});// 添加搜索按鈕的點擊事件
document.getElementById("search-button").addEventListener("click", function() {var searchInput = document.getElementById("search-input").value;if (searchInput.trim() === "") {alert("請輸入搜索內容!");} else {alert("您搜索的內容是: " + searchInput);}
});

?五、運行效果

在這里插入圖片描述

調整時間格式:

在這里插入圖片描述

按鈕提交提示:

在這里插入圖片描述

?總結

通過以上步驟,我們成功構建了一個包含數字時鐘和搜索功能的網頁。用戶可以在輸入框中輸入問題并點擊搜索按鈕,頁面會彈出提示框顯示用戶輸入的內容。同時,數字時鐘會實時更新,顯示當前的時間。

這個項目展示了如何結合 HTML、CSS 和 JavaScript 創建一個簡單而實用的網頁應用。希望這個示例能為你的網頁開發之旅提供靈感!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74880.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74880.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74880.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

聚焦應用常用功能,提升用戶體驗與分發效率

隨著HarmonyOS應用的持續發展&#xff0c;應用的功能將越來越豐富&#xff0c;實際上80%的用戶使用時長都會集中在20%的特性上&#xff0c;其余的功能可能也僅僅是面向部分用戶。 用戶在下載應用時&#xff0c;如果應用包含大量的功能和資源&#xff0c;可能會導致下載時間過長…

OCR 識別案例

OCR 識別案例 注意點&#xff1a;輸入圖像尺寸比例盡量和參與模型訓練的數據集比例相似&#xff0c;識別效果會更好。 1、pytesseract Pytesseract是一個Python的光學字符識別&#xff08;OCR&#xff09;工具&#xff0c;它作為Tesseract OCR引擎的封裝&#xff0c;允許你在…

IP大洗牌ipv6強勢來襲!!!【ipv6配置及應用】

前言 隨著時代的發展&#xff0c;IPv4&#xff08;互聯網協議第四版&#xff09;已逐漸無法滿足全球互聯網爆炸式增長的需求。自20世紀80年代誕生以來&#xff0c;IPv4憑借其簡潔的架構和約43億的地址容量&#xff0c;支撐了互聯網的早期擴張。然而&#xff0c;在移動互聯網、物…

OpenAI 推出圖像生成新突破:GPT-4o 實現圖像編輯對話化

關鍵要點 OpenAI 推出了 4o 圖像生成功能&#xff0c;集成于 GPT-4o&#xff0c;提供精準且逼真的圖像生成。 它似乎適用于多種用戶&#xff0c;包括免費用戶&#xff0c;API 訪問預計幾周內推出。 安全措施包括 C2PA 元數據和內容屏蔽&#xff0c;限制生成不適當圖像。 研究…

如何快速對比兩個不同的excel文件中的單元格的數據是否完全相同 并把不同的單元格的背景顏色更改為紅色?

要快速對比兩個不同的Excel文件中的單元格數據是否完全相同&#xff0c;并將不同的單元格背景顏色更改為紅色&#xff0c;可以使用Excel的以下幾種方法&#xff1a; 方法一&#xff1a;使用條件格式 打開兩個Excel文件。將一個文件的內容復制到另一個文件的新工作表中&#x…

口腔種植全流程AI導航系統及輔助診療與耗材智能化編程分析

一、系統架構與編程框架設計 口腔種植全流程人工智能導航系統的開發是一項高度復雜的多學科融合工程,其核心架構需在醫學精準性、工程實時性與臨床實用性之間實現平衡。系統設計以模塊化分層架構為基礎,結合高實時性數據流與多模態協同控制理念,覆蓋從數據采集、智能決策到…

nginx配置頁面緩存,前端每次打包生成新的js文件

前端需要處理的&#xff1a;使用時間戳作為文件名 // nuxt.config.js export default {build: {filenames: {app: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.js, // 生產環境用時間戳chunk: ({ isDev }) > isDev ? [name].js : [name].${Date.now()}.j…

4.Socket類、InetAddr類、Epoll類實現模塊化

目錄 1. InetAddr類 類定義 代碼說明 類實現 2.Socket類 類定義 類實現 3. Epoll類 類定義 構造與析構函數 方法實現 類實現 4. 使用模塊化設計 示例使用&#xff08;main.cpp) 5. 運行程序 隨著程序復雜度的增加&#xff0c;單一的面向過程的代碼會變得難以理…

視頻生成的測試時Scaling時刻!清華開源Video-T1,無需重新訓練讓性能飆升

來源 | 機器之心 視頻作為包含大量時空信息和語義的媒介&#xff0c;對于 AI 理解、模擬現實世界至關重要。視頻生成作為生成式 AI 的一個重要方向&#xff0c;其性能目前主要通過增大基礎模型的參數量和預訓練數據實現提升&#xff0c;更大的模型是更好表現的基礎&#xff0c…

Go 語言標準庫中time模塊詳細功能介紹與示例

以下是 Go 語言 time 模塊的詳細說明及示例&#xff0c;涵蓋時間操作、定時器、時區處理等核心功能&#xff1a; 一、時間基礎操作 1. 獲取時間 // 當前本地時間 now : time.Now() fmt.Println(now) // 2023-08-04 15:30:45.123456 0800 CST// 構造指定時間 t : time.Date(20…

【強化學習】基于深度強化學習的微能源網能量管理與優化策略研究【Python】

目錄 主要內容 程序要點 2.1 微能源網系統組成 2.2 強化學習及Q學習算法 部分代碼 運行結果 下載鏈接 主要內容 該程序借助深度 Q 網絡&#xff08;DQN&#xff09;&#xff0c;學習預測負荷、風 / 光可再生能源功率輸出及分時電價等環境信息&#xff0c;運用…

dom0-kernel: /thermal-zones/soc_max/cooling-maps/map0: could not find phandle 2

問題描述&#xff1a; 由于soc_max下某個節點找不到&#xff0c;到時dom0-kernel后面有很多有關thermal熱管理之類報錯 問題解決及其原因分析&#xff1a; 這是因為在Xen解析相關節點時&#xff0c;soc_max下的某個節點被跳過了&#xff0c;注釋掉相關的cpu節點處理dom0就可以找…

關于計算機視覺中的插值小記

計算機視覺中的插值&#xff08;Interpolation&#xff09;講解 插值&#xff08;Interpolation&#xff09;在計算機視覺中是一項基礎操作&#xff0c;常用于圖像縮放、旋轉、去噪、圖像重建等任務。其核心思想是在已知數據點之間進行推測&#xff0c;估計未知的像素值或特征…

計算機網絡--傳輸層(1)

第五章 傳輸層 一、傳輸層基本功能 進程到進程的邏輯通信 套接字&#xff08;Socket&#xff09;&#xff1a;IP地址:端口號 IP地址&#xff1a;標識主機&#xff08;網絡層功能&#xff09;端口號&#xff1a;16位整數&#xff08;0-65535&#xff09;&#xff0c;標識進程 熟…

指定 Python 3.12.6-slim 作為基礎鏡像

指定 Python 3.12.6-slim 作為基礎鏡像&#xff0c;意思就是&#xff1a; &#x1f449; 用官方的 Python 3.12.6&#xff08;精簡版&#xff09;作為容器的起點&#xff0c;里面已經有 Python 3.12.6 預裝好了&#xff0c;你不用自己裝。 &#x1f539; 為什么用 -slim&…

【藍橋杯】算法筆記1

1.暴力枚舉 給定一個正整數n,請找出所有滿足a + b = n的整數對(a, b),其中a和b都是正整數,且a ≤ b。 輸入格式:一個正整數n (1 ≤ n ≤ 10?) 輸出格式:所有符合條件的(a, b)對,每行一對,按a的升序排列。如果沒有符合條件的對,輸出"No solution"。 問題分…

專注自習室:番茄工作法實踐

專注自習室&#xff1a;番茄工作法實踐 我需要一個任務管理工具&#xff0c;但在網上找了很多都找不到合適的工具。市面上的大多數產品過于強調任務完成性&#xff0c;給我帶來了很強的心理壓力&#xff0c;這種壓力最終反而降低了我的工作效率。于是我決定自己動手&#xff0…

VUE3項目VITE打包優化

VUE3項目VITE打包優化 代碼加密依賴配置效果對比圖 自動導入依賴配置 代碼壓縮依賴配置效果對比圖 圖片壓縮依賴配置效果對比圖 字體壓縮總結與實踐運用效果 代碼加密 依賴 npm install -D vite-plugin-bundle-obfuscator配置 import vitePluginBundleObfuscator from "…

文章記單詞 | 第14篇(六級)

一&#xff0c;單詞釋義 affection&#xff1a;n. 喜愛&#xff0c;鐘愛&#xff1b;愛慕之情&#xff1b;感情stream&#xff1a;n. 小河&#xff0c;溪流&#xff1b;一連串&#xff0c;源源不斷&#xff1b;水流&#xff0c;氣流&#xff1b;vi. 流&#xff0c;流動&#x…

歐幾里得距離(Euclidean Distance)公式

歐幾里得距離公式 歐幾里得距離&#xff08;Euclidean Distance&#xff09;是計算兩點之間直線距離的一種方法。它是最常見的距離度量方式之一&#xff0c;廣泛應用于數學、物理、機器學習、計算機視覺等領域。 公式定義 1. 二維空間 在二維平面上&#xff0c;假設有兩個點…