日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

button active 跳转到另一个页面_一步一步实现一个古诗词网站(四)——首页

發(fā)布時間:2024/9/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 button active 跳转到另一个页面_一步一步实现一个古诗词网站(四)——首页 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
汪小黑:一步一步實現(xiàn)一個古詩詞網(wǎng)站(三)——首頁?zhuanlan.zhihu.com

在上篇文章中,我們一步一步的實現(xiàn)了我們的靜態(tài)首頁,從中學習到了頁面布局方面的知識。

在這篇文章中,我們將使用 JavaScript 實現(xiàn)頁面右上角的輸入搜索功能,在實現(xiàn)該功能的過程中,主要會涉及到以下的一些知識點:

  • 什么是BOM?
  • 什么是DOM?
  • 瀏覽器的事件。
  • 一、什么是BOM?

    BOM(Browser Object Model),即瀏覽器對象模型。

    瀏覽器是一個大型的復雜的軟件,JavaScript 運行在瀏覽器當中,瀏覽器可以看作是 JavaScript 的一個運行環(huán)境。JavaScript 想要控制瀏覽器,就需要瀏覽器開放相應的控制接口,這個控制接口就是 BOM。BOM 可以理解為瀏覽器和 JavaScript 之間的橋梁,JavaScript 通過 BOM 來控制瀏覽器的行為。比如控制頁面的前進和后退、從一個窗口跳轉(zhuǎn)到另外一個窗口、獲取窗口大小等等。舉個例子,我們想要打開一個新的窗口:

    window.open('http://www.baidu.com')

    BOM核心對象是 window,window 對象包含了6大核心模塊,分別是:

  • document:文檔對象
  • frames:窗口中所有命名的框架
  • history:當前頁面歷史記錄
  • location:當前頁面地址信息
  • navigator:瀏覽器相關(guān)信息
  • screen:用戶顯示屏幕相關(guān)屬性
  • 學習 BOM, 最主要的就是掌握 BOM 中常用的一些屬性和方法。

    二、什么是DOM?

    DOM(Document Object Model),即文檔對象模型。

    DOM是針對 HTML 和 XML 文檔的一個 API。DOM 描繪了一個層次化的節(jié)點樹,允許開發(fā)人員添加、刪除和修改頁面的某一部分。

    瀏覽器端也實現(xiàn)了 DOM 規(guī)范,這些實現(xiàn)都集中體現(xiàn)在 document 對象上:

  • 創(chuàng)建節(jié)點:document.createElement
  • 添加節(jié)點:element.appendChild
  • 刪除節(jié)點:element.removeChild
  • 查找節(jié)點:document.getElementById、document.getElementsByClassName、document.querySelector、document.querySelectorAll
  • 學習 DOM,就是學習如何增刪改查 DOM 結(jié)構(gòu)。

    三、瀏覽器的事件

    事件,就是文檔或者瀏覽器窗口中發(fā)生的一些特定的交互瞬間。

    HTML呈現(xiàn)的網(wǎng)頁是異步的和事件驅(qū)動的,其交互過程近乎如下

  • 建立用戶界面
  • 等待有趣的事件發(fā)生
  • 做出相應的反應
  • 重復這一過程
  • JavaScript 和 HTML 之間的交互也是通過事件實現(xiàn)的,我們可以使用偵聽器來預定事件,以便在事件發(fā)生時執(zhí)行相應的代碼。

    瀏覽器的事件系統(tǒng)相對比較復雜,但有一些核心概念一定要理解:

  • 事件流
  • 事件冒泡
  • 事件捕獲
  • DOM 事件流
  • 事件處理程序
  • 綁定處理程序
  • 刪除處理程序
  • 事件對象
  • 事件類型
  • 總結(jié)一下上邊三個知識點:

  • BOM 和 DOM 都是獨立的規(guī)范,和特定的語言無關(guān)。
  • BOM 是用來控制瀏覽器的行為,DOM 是用來控制文檔結(jié)構(gòu)。
  • 事件,就是文檔或者瀏覽器窗口中發(fā)生的一些特定的交互瞬間。
  • 學習這些基礎知識點首選的方式就是閱讀《JavaScript高級程序設計》。

    其次是網(wǎng)上的一些系統(tǒng)教程:

    JavaScript HTML DOM?www.w3school.com.cnJavaScript Window - 瀏覽器對象模型?www.w3school.com.cnJavaScript 事件?www.w3school.com.cn

    四、實現(xiàn)輸入搜索功能

    我們來分析一下輸入搜索功能的細節(jié):

  • 點擊確定按鈕,跳轉(zhuǎn)搜索頁面,并且攜帶上輸入框中輸入的關(guān)鍵字。
  • 輸入框處于焦點的情況下,按下回車鍵,觸發(fā)確定按鈕點擊事件。
  • 要實現(xiàn)上述的功能,我們要做到:

  • 獲取輸入框中的輸入值
  • 監(jiān)聽確定按鈕點擊事件
  • 監(jiān)聽鍵盤被按下事件
  • 1.修改 HTML

    <!-- 搜索區(qū) --> <div class="search"><input placeholder="請輸入"/><button>確定</button> </div>

    上面是我們在上篇文章中編寫的搜索區(qū) HTML 結(jié)構(gòu),為了能更加凸顯搜索輸入框和確定按鈕,我們給他們添加 id。

    <!-- 搜索區(qū) --> <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.編寫跳轉(zhuǎn)邏輯

    function goToSearch() {// 從輸入框獲取關(guān)鍵字var keyWord = searchInputEl.value;// 組裝 urlvar url = './search.html' + '?' + 'keyWord=' + keyWord;// 跳轉(zhuǎn)頁面window.open(url, '__blank'); }

    4.綁定事件

    // 綁定確定按鈕點擊事件 searchBtnEl.addEventListener('click', goToSearch);// 綁定鍵盤按鍵事件 searchInputEl.addEventListener('keydown', function (e) {// 根據(jù) keyCode 判斷按鍵,回車鍵為13if (e.keyCode === 13) {goToSearch();} })

    5.完整代碼

    // 獲取 DOM 元素 var searchBtnEl = document.querySelector('#searchBtn'); var searchInputEl = document.querySelector('#searchInput');// 編寫跳轉(zhuǎn)邏輯 function goToSearch() {// 從輸入框獲取關(guān)鍵字var keyWord = searchInputEl.value;// 組裝 urlvar url = './search.html' + '?' + 'keyWord=' + keyWord;// 跳轉(zhuǎn)頁面window.open(url, '__blank'); }// 綁定確定按鈕點擊事件 searchBtnEl.addEventListener('click', goToSearch);// 綁定鍵盤按鍵事件 searchInputEl.addEventListener('keydown', function (e) {// 根據(jù) keyCode 判斷按鍵,回車鍵為13if (e.keyCode === 13) {goToSearch();} })

    五、下期預告

    這篇文章詳細介紹了首頁的輸入搜索功能的實現(xiàn),大致介紹了幾個重要的知識點:BOM、DOM 和瀏覽器事件。

    下篇文章將介紹首頁推薦區(qū)和信息區(qū)的邏輯實現(xiàn)部分。

    如果對這個系列感興趣的同學歡迎關(guān)注一波~,可以收到最新的文章通知。

    對前端入門感興趣的小伙伴歡迎加入我們的前端學習交流群:

  • qq群:948805468
  • 微信群:加我微信(a1127502049),我拉你進群
  • 總結(jié)

    以上是生活随笔為你收集整理的button active 跳转到另一个页面_一步一步实现一个古诗词网站(四)——首页的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: jizz日韩 | 色呦呦麻豆 | 伊人亚洲精品 | 明里柚番号 | 少妇激情一区二区三区 | 欧美男人又粗又长又大 | 精国产人伦一区二区三区 | 亚洲性色视频 | 禁网站在线观看免费视频 | 亚洲欧美成人一区二区三区 | 欧美巨鞭大战丰满少妇 | 亚洲精品久久久久久一区二区 | 亚洲人视频 | 大地av | 国产拍拍拍 | 制服av在线 | 久久久久九九九 | 偷偷操不一样 | 亚洲国产高清国产精品 | 五月婷婷色丁香 | 农村少妇 | 污在线观看 | jiizzyou性欧美老片 | 日日碰日日操 | 亚洲第一精品在线 | 一级做a爱片性色毛片 | 68日本xxxxxⅹxxx59 | 99精品在线视频观看 | 国产区在线观看 | 五月天福利视频 | 欧美黑人多人双交 | www.尤物| 福利所导航 | 操极品女神 | 欲求不满的岳中文字幕 | 欧洲美女与动交ccoo | 黑人精品无码一区二区三区 | 亚洲天堂网在线观看视频 | 蜜桃tv一区二区三区 | av小说在线观看 | 3d动漫精品啪啪一区二区免费 | 国产精品4区| 婷婷综合视频 | 日韩精品成人免费观看视频 | 精品国产av无码一区二区三区 | 日韩精品一二三四区 | 国产婷婷一区二区三区 | 免费在线观看小视频 | 麻豆成人精品 | 亚洲爱爱av | 美国av毛片 | 懂色一区二区二区av免费观看 | 亚洲最大成人在线 | 97免费在线 | mdyd—856冲田杏梨在线 | 欧美激情性做爰免费视频 | 精品一区二区在线免费观看 | 成人毛片在线精品国产 | 国产精品69久久久久孕妇欧美 | 天天爽天天爽 | 女人黄色片 | 久久国产精品二区 | 欧美成人午夜77777 | 久久久久久久久国产精品一区 | 2019中文字幕在线免费观看 | 天天干天天曰 | 99精品一区二区三区无码吞精 | 久久久久久久亚洲精品 | 66亚洲一卡2卡新区成片发布 | 免费观看在线观看 | 人妻精品一区二区三区 | 中文字幕欧美在线观看 | 久草中文在线 | 97国产在线观看 | 日韩av综合网 | 美女被出白浆 | 亚洲美女啪啪 | 午夜精品一区 | 国产精品日韩一区二区三区 | 婷婷深爱五月 | 2022国产精品 | 亚洲在线观看一区二区 | 精品国产免费av | 亚洲瑟瑟 | 午夜剧场免费观看 | 天堂va在线 | 久久精彩视频 | 免费国产黄 | 亚洲天堂美女视频 | 国产国产乱老熟女视频网站97 | 2021av在线| 国产精品日韩 | 超碰在线99| 91在线无精精品入口 | 日本丰满熟妇bbxbbxhd | 91玉足脚交嫩脚丫在线播放 | 永久免费在线 | 内地级a艳片高清免费播放 91在线精品一区二区 | 午夜精品久久久久久久久久久久久 |