button active 跳转到另一个页面_一步一步实现一个古诗词网站(四)——首页
在上篇文章中,我們一步一步的實現了我們的靜態首頁,從中學習到了頁面布局方面的知識。
在這篇文章中,我們將使用 JavaScript 實現頁面右上角的輸入搜索功能,在實現該功能的過程中,主要會涉及到以下的一些知識點:
一、什么是BOM?
BOM(Browser Object Model),即瀏覽器對象模型。
瀏覽器是一個大型的復雜的軟件,JavaScript 運行在瀏覽器當中,瀏覽器可以看作是 JavaScript 的一個運行環境。JavaScript 想要控制瀏覽器,就需要瀏覽器開放相應的控制接口,這個控制接口就是 BOM。BOM 可以理解為瀏覽器和 JavaScript 之間的橋梁,JavaScript 通過 BOM 來控制瀏覽器的行為。比如控制頁面的前進和后退、從一個窗口跳轉到另外一個窗口、獲取窗口大小等等。舉個例子,我們想要打開一個新的窗口:
window.open('http://www.baidu.com')BOM核心對象是 window,window 對象包含了6大核心模塊,分別是:
學習 BOM, 最主要的就是掌握 BOM 中常用的一些屬性和方法。
二、什么是DOM?
DOM(Document Object Model),即文檔對象模型。
DOM是針對 HTML 和 XML 文檔的一個 API。DOM 描繪了一個層次化的節點樹,允許開發人員添加、刪除和修改頁面的某一部分。
瀏覽器端也實現了 DOM 規范,這些實現都集中體現在 document 對象上:
學習 DOM,就是學習如何增刪改查 DOM 結構。
三、瀏覽器的事件
事件,就是文檔或者瀏覽器窗口中發生的一些特定的交互瞬間。
HTML呈現的網頁是異步的和事件驅動的,其交互過程近乎如下
JavaScript 和 HTML 之間的交互也是通過事件實現的,我們可以使用偵聽器來預定事件,以便在事件發生時執行相應的代碼。
瀏覽器的事件系統相對比較復雜,但有一些核心概念一定要理解:
總結一下上邊三個知識點:
學習這些基礎知識點首選的方式就是閱讀《JavaScript高級程序設計》。
其次是網上的一些系統教程:
JavaScript HTML DOM?www.w3school.com.cnJavaScript Window - 瀏覽器對象模型?www.w3school.com.cnJavaScript 事件?www.w3school.com.cn四、實現輸入搜索功能
我們來分析一下輸入搜索功能的細節:
要實現上述的功能,我們要做到:
1.修改 HTML
<!-- 搜索區 --> <div class="search"><input placeholder="請輸入"/><button>確定</button> </div>上面是我們在上篇文章中編寫的搜索區 HTML 結構,為了能更加凸顯搜索輸入框和確定按鈕,我們給他們添加 id。
<!-- 搜索區 --> <div class="search"><input id="searchInput" placeholder="請輸入"/><button id="searchBtn">確定</button> </div>2.獲取 DOM 元素
// 獲取 DOM 元素 var searchBtnEl = document.querySelector('#searchBtn'); var searchInputEl = document.querySelector('#searchInput');3.編寫跳轉邏輯
function goToSearch() {// 從輸入框獲取關鍵字var keyWord = searchInputEl.value;// 組裝 urlvar url = './search.html' + '?' + 'keyWord=' + keyWord;// 跳轉頁面window.open(url, '__blank'); }4.綁定事件
// 綁定確定按鈕點擊事件 searchBtnEl.addEventListener('click', goToSearch);// 綁定鍵盤按鍵事件 searchInputEl.addEventListener('keydown', function (e) {// 根據 keyCode 判斷按鍵,回車鍵為13if (e.keyCode === 13) {goToSearch();} })5.完整代碼
// 獲取 DOM 元素 var searchBtnEl = document.querySelector('#searchBtn'); var searchInputEl = document.querySelector('#searchInput');// 編寫跳轉邏輯 function goToSearch() {// 從輸入框獲取關鍵字var keyWord = searchInputEl.value;// 組裝 urlvar url = './search.html' + '?' + 'keyWord=' + keyWord;// 跳轉頁面window.open(url, '__blank'); }// 綁定確定按鈕點擊事件 searchBtnEl.addEventListener('click', goToSearch);// 綁定鍵盤按鍵事件 searchInputEl.addEventListener('keydown', function (e) {// 根據 keyCode 判斷按鍵,回車鍵為13if (e.keyCode === 13) {goToSearch();} })五、下期預告
這篇文章詳細介紹了首頁的輸入搜索功能的實現,大致介紹了幾個重要的知識點:BOM、DOM 和瀏覽器事件。
下篇文章將介紹首頁推薦區和信息區的邏輯實現部分。
如果對這個系列感興趣的同學歡迎關注一波~,可以收到最新的文章通知。
對前端入門感興趣的小伙伴歡迎加入我們的前端學習交流群:
總結
以上是生活随笔為你收集整理的button active 跳转到另一个页面_一步一步实现一个古诗词网站(四)——首页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言求圆锥的表面积和体积_新人教版六年
- 下一篇: cdrx8如何批量导出jpg_SU基础教