京東詳情頁 原生js爬坑之二級選單

2021-09-08 06:44:07 字數 1637 閱讀 5748

一、引言

做京東詳情頁仿寫的時候,要用原生js實現頂部選單的二級選單顯示與隱藏事件的觸發。

二、坑

誰觸發事件?顯示、隱藏二級選單      a?

如果綁給a

查詢a   怎麼查?

選擇器  怎麼寫?

除錯  看是否找到全部a ,找到的是不是自己想要的a區域。

遍歷a,新增事件

用上了this,當「滑鼠移入」a時,觸發showsub事件。因為前面showsub已經定義好了,所以不用再寫function了。此處,「滑鼠移入」為事件一,新增事件監聽事件一,觸發事件二。事件二,即為shousub顯示事件。

三、坑的問題

當滑鼠移出a區域時,已經觸發了mouseout事件,二級選單就會隱藏。使用者無法停留在二級選單繼續操作。所以,以後這樣的二級選單事件不要繫結在a上。

四、解決方法

繫結事件在li上,因為a和a旁邊的二級選單都在li裡邊。 進入這兩個區域,都屬於mouseover。所以,以後像這種滑鼠進入事件,就要繫結在父元素上。

改為繫結li之後:

五、留存問題

現在還是有乙個小坑:在選擇滑鼠移入二級選單之後,a的hover就不在了。

解決方法:查詢到li的第乙個子元素a,為其加上classname="hover"。

注意一點:在css中「:hover」是偽類,是給瀏覽器看的,js不認。

解決方法:在「:hover」旁邊,用逗號隔開乙個一模一樣樣式的「.hover」 。                             

posted @

2017-09-21 17:03

柳潔瓊elena 閱讀(

...)

編輯收藏

京東詳情頁 原生js學習之匿名函式

一 引言 在js模組中,要給每乙個功能封裝乙個匿名函式。為了更好的理解什麼是匿名函式,為什麼要用匿名函式,我做了一些查閱和學習。二 匿名函式 什麼是 在建立時,不被任何變數引用的函式。為什麼 節約記憶體 劃分臨時作用域,避免全域性汙染。何時 只要乙個函式只用一次,就釋放。1 建立乙個函式後,將函式物...

新聞詳情頁

一,業務流程分析 1,功能 1,新聞詳情 二 新聞詳情頁 1,業務流程分析 業務流程 1,判斷前端傳遞新聞id是否為空,是否為整數,是否存在 二,介面設計 1 介面說明 類目 說明 請求方式 get 路徑 news 引數格式 url路徑引數 2 引數說明 引數名 型別 是否必須 描述 news id...

3 3 商品詳情頁

1 對應的goodsdao中的核心 為 select select g.mg.stock count,mg.miaosha price,mg.start date,mg.end date from miaosha goods mg left join goods g on mg.goods id g...