原生js實現京東商城樓梯效果

這個可能有些兼容問題和小bug,新手寫的不完善 歡迎指出

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8" /><style type="text/css">*{margin: 0px;padding: 0px;list-style: none;}#header{width: 1000px;height: 650px;margin: 0 auto;position: relative;}.fl{width: 1000px;height: 600px;margin: 0 auto;position: relative;}#footer{width: 1000px;height: 600px;margin: 0 auto;position: relative;}#calc{height: 360px;width: 30px;position: fixed;display: none;left: 20px;top: 100px;}#calc ul li{width: 28px;height: 28px;border: dashed 1px lightgray;text-align: center;line-height: 30px;cursor: pointer;position: relative;}#calc ul li span{display: none;width: 28px;height: 28px;position: absolute;z-index: 1;background-color: red;overflow: hidden;top: 0px;left: 0px;font-size: 12px;}</style>
</head>
<body>
<div id="calc"><ul id="ul"><li>1<span>服飾</span></li><li>2<span>美妝</span></li><li>3<span>手機</span></li><li>4<span>家電</span></li><li>5<span>數碼</span></li><li>6<span>服務</span></li><li>7<span>圖書</span></li><li>8<span>母嬰</span></li><li>9<span>家具</span></li><li>10<span>運動</span></li><li>11<span>食品</span></li><li>top<span>頂部</span></li></ul>
</div>
<div id="header"><img src="header.png">
</div>
<div class="fl"><img src="服飾.png">
</div>
<div class="fl"><img src="美妝.png">
</div>
<div class="fl"><img src="手機.png">
</div>
<div class="fl"><img src="家電.png">
</div>
<div class="fl"><img src="數碼.png">
</div>
<div class="fl"><img src="服務.png">
</div>
<div class="fl"><img src="圖書.png">
</div>
<div class="fl"><img src="母嬰.png">
</div>
<div class="fl"><img src="居家.png">
</div>
<div class="fl"><img src="運動.png">
</div>
<div class="fl"><img src="食品.png">
</div>
<div id="footer"><img src="footer.png"></div>
</body>
</html>
<script type="text/javascript">
var header=document.getElementById('header');
var fl=document.getElementsByClassName('fl');
var footer=document.getElementById("footer");
var ul=document.getElementById("ul");
var li=ul.getElementsByTagName('li');
var span=ul.getElementsByTagName("span");
window.addEventListener("scroll",function(){var scrollTop=document.documentElement.scrollTop||window.pageYOffset||document.body.scrollTop;console.log(scrollTop)if(scrollTop>=650){ul.parentNode.style.display="block";}if(scrollTop<650){ul.parentNode.style.display="none";}for(i in fl){if(fl[i].offsetTop-scrollTop>-300){that=span[i];for(var j=0;j<span.length;j++){if (span[j]!=that) {span[j].style.display="none"}}span[i].style.display="block";return false}}
},0)for(var i=0;i<li.length;i++){(function(index){li[index].addEventListener("mouseover",function(){span[index].style.display="block";},false)})(i)
}
for(var i=0;i<li.length;i++){(function(index){li[index].addEventListener("click",function(){span[index].style.display="block";document.body.scrollTop=index*600+650;},false)})(i)
}
for(var i=0;i<li.length;i++){(function(index){li[index].addEventListener("mouseout",function(){span[index].style.display="none";},false)})(i)
}
</script>

  

轉載于:https://www.cnblogs.com/luckychenchen/p/5624841.html

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

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

相關文章

IDEA云行項目提示Error: java: OutOfMemoryError

idea運行項目提示如下 解決方法: 調整一下Compiler下面的Compiler Process heap size 參數&#xff0c;默認的是700。如果2048還不能解決問題&#xff0c;試著將它調得更大一些吧&#xff0c; 修改為2048 修改后運行成功

常見的BIOS硬盤故障現象及急救措施

硬盤是電腦的數據倉庫&#xff0c;是最為重要的存儲設備&#xff0c;由BIOS直接管理。如果硬盤出現故障&#xff0c;一般情況下系統通常會顯示一些提示信息&#xff0c;說明問題所在。下面&#xff0c;將一些常見的硬盤故障信息向大家一一介紹。1 C&#xff1a;Drive Failure …

js var是什么類型_JS變量的執行環境和生命周期

溫故而知新&#xff0c;這些JS基礎知識你都知道嗎&#xff1f;今天和大家分享的是 JavaScript 中有關變量的知識&#xff0c;希望這篇文章能讓你對JS中的變量有新的認識.目錄&#xff1a;變量的執行環境&#xff08;執行上下文&#xff09;執行上下文的生命周期創建變量對象變量…

網絡中不能顯示全部計算機,win10家庭版局域網中計算機設備無法完全顯示的解決方法...

許多用戶都喜歡通過局域網來共享一些文件等&#xff0c;打開局域網就可以看到所有共享的計算機&#xff0c;然而有不少win10家庭版用戶卻發現局域網中只能看到幾臺計算機設備&#xff0c;無法完全顯示&#xff0c;該怎么辦呢&#xff0c;現在為大家講解一下win10家庭版局域網中…

java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets (jsoup配合htmlunit 爬取異步加載的網頁遇到的)

最近用jsoup配合htmlunit 爬取異步加載的網頁運行代碼的時候,報錯java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets 報錯截圖如下 解決措施: 1:common-fileupload 1.3.1的版本依賴的commons-io 2.2&#xff0c;而htmlunit的jar依賴的是common-io 2.4 htmlunit…

echarts 3d地球 背面光線太暗_新技術:多波長光源,同時3D打印多種光敏樹脂材料...

如今&#xff0c;光固化3D打印技術已經被廣泛的采用&#xff0c;在齒科、首飾、手辦等領域&#xff0c;然而如上圖一樣的常規光固化3D打印機&#xff0c;一次仍然只能打印一種材料。 △FDM技術類型的3D打印機可以通過增加噴頭數量來實現多色或者多種材料同時打印&#xff0c;圖…

2016-6-28 工作總結

今天是軟件工程課設開始的第一天。經過一早上聽老師的課程說明與用戶反饋的講解&#xff0c;我可以看得出老師對于這次課程設計的質量有著很高的期待與嚴格的要求&#xff0c;不再允許有渾水摸魚的現象發生&#xff0c;我想&#xff0c;從某種程度上來講&#xff0c;是一種好事…

計算機系統基礎:計算機性能評價知識筆記

1、計算機性能常用的性能評測方法 1.1 時鐘頻率 計算機的時鐘頻率可以反映出機器的運行速度。一般主頻越高&#xff0c;速度越快。 1.2 指令執行速度 加法指令執行速度是衡量計算機性能指標的重要指標之一。 1.3 等效指令速度法 隨著計算機指令系統發展&#xff0c;種類越來越多…

astc貼圖格式是什么意思_c4d配合AEe3d導入c4d模型貼圖及插件安裝所有流程

所有使用的軟件及插件&#xff0c;分享給大家&#xff0c;需要軟件或者插件的可以留言我&#xff0c;免費分享給大家&#xff0c;其實也可以網上下載到&#xff0c;就是有的版本和相應需要的插件不兼容和支持&#xff0c;。不少小伙伴用c4d做模型&#xff0c;做好后到底怎么玩&…

html5做文字顏色漸變代碼,神奇!js+CSS+DIV實現文字顏色漸變效果_javascript技巧

本文實例為大家分享了DIVCSSJS實現的文字顏色漸變效果&#xff0c;供大家參考&#xff0c;具體內容如下下面是 CSS 部分代碼&#xff1a;body{ font:12px/1.5 Microsoft Yahei;}h3{ padding:10px; margin:0; background-color:#999; color:#fff; font:16px/1.5 Microsoft Yahei…

前大燈是近光燈還是遠光燈_汽修案例:長安福特翼博前大燈間歇自動點亮

點擊↑汽修案例關注置頂&#xff0c;獲得正時大全一輛行駛里程約2300km的2017年長安福特翼博。客戶反映&#xff1a;該車在行駛過程中前大燈間歇出現自動點亮的故障現象。故障現象出現時大燈點亮與否不受大燈開關控制&#xff0c;如圖1所示。故障診斷&#xff1a;車輛來店報修時…

commons-httpclient 和 httpclient 區別

commons-httpclient 和 httpclient 區別 項目里的pom中&#xff0c;里面有這么兩個包依賴。 <dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version> </depend…

計算機基礎:多媒體基礎知識筆記

1、媒體的定義 媒體包括兩面&#xff1a; 1、物理載體&#xff1a;比如磁盤、光盤、磁帶以及相關的播放設備。 2、信息載體&#xff1a;也就是信息的表現形式&#xff0c;比如文字、聲音、圖像、動畫、視頻等。CCITT定義的存儲媒體和表示媒體。 2、媒體的分類 1、感覺媒體&…

gnuradio上怎么使用python文件_使用Python從PDF文件中提取數據

前言數據是數據科學中任何分析的關鍵&#xff0c;大多數分析中最常用的數據集類型是存儲在逗號分隔值(csv)表中的干凈數據。然而&#xff0c;由于可移植文檔格式(pdf)文件是最常用的文件格式之一&#xff0c;因此每個數據科學家都應該了解如何從pdf文件中提取數據&#xff0c;并…

Attach Volume 操作(Part I) - 每天5分鐘玩轉 OpenStack(53)

上一節我們創建了 volume&#xff0c;本節討論如何將 volume attach 到 Instance&#xff0c;今天是第一部分。 Volume 的最主要用途是作為虛擬硬盤提供給 instance 使用。Volume 是通過 Attach 操作掛載到 instance 上的。本節我們就來詳細討論 Cinder 是如何實現 Attach 的。…

計算機網絡技術課程代碼02141模擬試題,02141計算機網絡技術201510真題及答案

2015年10月高等教育自學考試全國統一命題考試計算機網絡技術試卷(課程代碼02141)本試卷共4頁。滿分l00分&#xff0c;考試時間l50分鐘。考生答題注意事項&#xff1a;1&#xff0e;本卷所有試題必須在答題卡上作答。答在試卷上無效&#xff0c;試卷空白處和背面均可作草稿紙。2…

python如何確定拐點_多年股市老鳥買賣操作經驗——如何在波段操作確定買入點!經典...

多年股市老鳥買賣操作經驗——如何在波段操作確定買入點&#xff01;經典&#xff01;股市諺語&#xff1a;“長線是金,短線是銀,波段操作是鉆石。”這從一個側面反映了波段操作的重要性。波段操作就是在股價趨勢變化的早期階段辨識買賣機會&#xff0c;在波動的階段性底部(谷底…

c#geckofx文件流下載

備注&#xff1a;內容僅提供參考。 ⒈添加引用&#xff1a;using Gecko; ⒉然后根據自己的情況在某個方法內添加事件&#xff1a; LauncherDialog.Download new EventHandler<LauncherDialogEvent>(OnDownloadFile); ⒊再聲明方法&#xff1a; private void OnDownloadF…

獲取后端接口請求中的參數(@PathVariable,@RequestParam,@RequestBody區別,使用postman請求

獲取參數 SpringBoot提供的獲取參數注解包括&#xff1a;PathVariable&#xff0c;RequestParam&#xff0c;RequestBody,三者的區別如下表&#xff1a; 一:后端接口什么都不加 postman請求后端接口 二:后端接口加RequestParam POST請求RequestParam&#xff1a; ① 用來處理…

spark shell 刪除失效_Spark任務提交源碼解析

1. 前言反反復復搗鼓了很久&#xff0c;終于開始學習Spark的源碼了&#xff0c;果不其然&#xff0c;那真的很有趣。這里我打算一本正經的胡說八道來講一下Spark作業的提交過程。基礎mac系統基礎環境如下&#xff1a;JDK 1.8IDEA 2019.3源碼Spark 2.3.3Scala 2.11.8提交腳本# 事…