代碼實現(xiàn)--利用事件冒泡不多次獲取dom元素
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="UTF-8">
? ? <title>實踐題 - 選項卡</title>
? ? <style type="text/css">
? ? ?/* CSS樣式制作 */
? ? ? ?ul {
? ? ? ? ? ?list-style:none;
? ? ? ? ? ?margin:0;
? ? ? ? ? ?padding:0;
? ? ? ? ? ?overflow:hidden;
? ? ? ?}
? ? ? ?ul>li {
? ? ? ? ? ?position:relative;
? ? ? ? ? ?float:left;
? ? ? ? ? ?width:90px;
? ? ? ? ? ?height:42px;
? ? ? ? ? ?line-height:40px;
? ? ? ? ? ?margin:0 5px;
? ? ? ? ? ?border:1px solid grey;
? ? ? ? ? ?border-bottom:none;
? ? ? ? ? ?text-align:center;
? ? ? ? ? ?z-index:10;
? ? ? ?}
? ? ? ?ul>li:first-of-type {
? ? ? ? ? ?border-top:3px solid #996633;
? ? ? ? ? ?background-color:#fff;
? ? ? ?}
? ? ? ?.content {
? ? ? ? ? ?position:absolute;
? ? ? ? ? ?top:50px;
? ? ? ? ? ?width:400px;
? ? ? ? ? ?height: 150px;
? ? ? ? ? ?line-height: 2em;
? ? ? ? ? ?padding:5px;
? ? ? ? ? ?display:none;
? ? ? ? ? ?border:1px solid darkblue;
? ? ? ? ? ?border-top:3px solid #996633;
? ? ? ? ? ?z-index:1;
? ? ? ?}
? ? ? ?.content:first-of-type {
? ? ? ? ? ?display:block;
? ? ? ?}
? ? </style>
? ? <script type="text/javascript">
? ? ? ? ?
? ? // JS實現(xiàn)選項卡切換
? ? ? ? window.onload = function() {
? ? ? ? ? ? var tab = document.getElementsByTagName('ul')[0];
? ? ? ? ? ? tab.addEventListener('click', function(e) {
? ? ? ? ? ? ? ? if(e.target.nodeName == 'LI') {
? ? ? ? ? ? ? ? ? ? for(let item of e.target.parentNode.childNodes) {
? ? ? ? ? ? ? ? ? ? if(item.nodeType == 1) {
? ? ? ? ? ? ? ? ? ? ? ? item.style.backgroundColor = "transparent";
? ? ? ? ? ? ? ? ? ? ? ? item.style.borderTop = "1px solid grey"
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? e.target.style.backgroundColor = "#fff"
? ? ? ? ? ? ? ? e.target.style.borderTop = "3px solid #996633"
? ? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? }
? ??
? ? </script>
?
</head>
<body>
<!-- HTML頁面布局 -->
? ? <div id="app">
? ? ? ? <ul>
? ? ? ? ? ? <li>房產(chǎn)</li>
? ? ? ? ? ? <li>家居</li>
? ? ? ? ? ? <li>二手房</li>
? ? ? ? </ul>
? ? ? ? <div class="content">
? ? ? ? ? ? 275萬購昌平鄰鐵三居 總價20萬買一居<br/>
? ? ? ? ? ? 200萬內(nèi)購五環(huán)三居 140萬安家東三環(huán)<br/>
? ? ? ? ? ? 北京首現(xiàn)零首付樓盤 53萬購東5環(huán)50平<br/>
? ? ? ? ? ? 京樓盤直降5000 中信府 公園樓王現(xiàn)房
? ? ? ? </div>
? ? ? ? <div class="content">
? ? ? ? ? ? 40平出租屋大改造 美少女的混搭小窩<br/>
? ? ? ? ? ? 經(jīng)典清新簡歐愛家 90平老房煥發(fā)新生<br/>
? ? ? ? ? ? 新中式的酷色溫情 66平撞色活潑家居<br/>
? ? ? ? ? ? 瓷磚就像選好老婆 衛(wèi)生間煙道的設(shè)計
? ? ? ? </div>
? ? ? ? <div class="content">
? ? ? ? ? ? 通州豪華3居260萬 二環(huán)稀缺2居250w甩<br/>
? ? ? ? ? ? 西3環(huán)通透2居290萬 130萬2居限量搶購<br/>
? ? ? ? ? ? 黃城根小學(xué)學(xué)區(qū)僅260萬 121平70萬拋!<br/>
? ? ? ? ? ? 獨家別墅280萬 蘇州橋2居優(yōu)惠價248萬<br/>
? ? ? ? </div>
? ? </div>
</body>
</html>
2021-07-06
<!DOCTYPE html>
<html>
<head>
? ? <meta charset="UTF-8">
? ? <title>實踐題 - 選項卡</title>
? ? <style type="text/css">
? ? ?/* CSS樣式制作 */??
? ? ? ?ul {
? ? ? ? ? ?list-style:none;
? ? ? ? ? ?margin:0;
? ? ? ? ? ?padding:0;
? ? ? ? ? ?overflow:hidden;
? ? ? ?}
? ? ? ?ul>li {
? ? ? ? ? ?position:relative;
? ? ? ? ? ?float:left;
? ? ? ? ? ?width:90px;
? ? ? ? ? ?height:42px;
? ? ? ? ? ?line-height:40px;
? ? ? ? ? ?margin:0 5px;
? ? ? ? ? ?border:1px solid grey;
? ? ? ? ? ?border-bottom:none;
? ? ? ? ? ?text-align:center;
? ? ? ? ? ?z-index:10;
? ? ? ?}
? ? ? ?ul>li:first-of-type {
? ? ? ? ? ?border-top:3px solid #996633;
? ? ? ? ? ?background-color:#fff;
? ? ? ?}
? ? ? ?.content {
? ? ? ? ? ?position:absolute;
? ? ? ? ? ?top:50px;
? ? ? ? ? ?width:400px;
? ? ? ? ? ?height: 150px;
? ? ? ? ? ?line-height: 2em;
? ? ? ? ? ?padding:5px;
? ? ? ? ? ?display:none;
? ? ? ? ? ?border:1px solid darkblue;
? ? ? ? ? ?border-top:3px solid #996633;
? ? ? ? ? ?z-index:1;
? ? ? ?}
? ? ? ?.content:first-of-type {
? ? ? ? ? ?display:block;
? ? ? ?}
? ? ? ?
? ? </style>
? ? <script type="text/javascript">
? ? ? ? ?
? ? // JS實現(xiàn)選項卡切換
? ? window.onload = function() {
? ? ? ? ? ? var tab = document.getElementsByTagName('ul')[0];
? ? ? ? ? ? var con = document.getElementsByClassName('content');
? ? ? ? ? ? tab.addEventListener('click', function(e) {
? ? ? ? ? ? ? ? if(e.target.nodeName == 'LI') {
? ? ? ? ? ? ? ? ? ? for(let item of e.target.parentNode.childNodes) {
? ? ? ? ? ? ? ? ? ? if(item.nodeType == 1) {
? ? ? ? ? ? ? ? ? ? ? ? item.style.backgroundColor = "transparent";
? ? ? ? ? ? ? ? ? ? ? ? item.style.borderTop = "1px solid grey"
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? e.target.style.backgroundColor = "#fff"
? ? ? ? ? ? ? ? e.target.style.borderTop = "3px solid #996633"
? ? ? ? ? ? ? ? for(i=0;i<con.length;i++){
? ? ? ? ? ? ? ? ? ? con[i].style.display="none";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? if(e.target.id=="fc"){
? ? ? ? ? ? ? ? ? ? con[0].style.display="block";
? ? ? ? ? ? ? ? }else if(e.target.id=="jj"){
? ? ? ? ? ? ? ? ? ? con[1].style.display="block";
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? con[2].style.display="block";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? }
? ? </script>
?
</head>
<body>
<!-- HTML頁面布局 -->
? ? <div id="app">
? ? ? ? <ul>
? ? ? ? ? ? <li id="fc">房產(chǎn)</li>
? ? ? ? ? ? <li id="jj">家居</li>
? ? ? ? ? ? <li id="esf">二手房</li>
? ? ? ? </ul>
? ? ? ? <div class="content">
? ? ? ? ? ? 275萬購昌平鄰鐵三居 總價20萬買一居<br/>
? ? ? ? ? ? 200萬內(nèi)購五環(huán)三居 140萬安家東三環(huán)<br/>
? ? ? ? ? ? 北京首現(xiàn)零首付樓盤 53萬購東5環(huán)50平<br/>
? ? ? ? ? ? 京樓盤直降5000 中信府 公園樓王現(xiàn)房
? ? ? ? </div>
? ? ? ? <div class="content">
? ? ? ? ? ? 40平出租屋大改造 美少女的混搭小窩<br/>
? ? ? ? ? ? 經(jīng)典清新簡歐愛家 90平老房煥發(fā)新生<br/>
? ? ? ? ? ? 新中式的酷色溫情 66平撞色活潑家居<br/>
? ? ? ? ? ? 瓷磚就像選好老婆 衛(wèi)生間煙道的設(shè)計
? ? ? ? </div>
? ? ? ? <div class="content">
? ? ? ? ? ? 通州豪華3居260萬 二環(huán)稀缺2居250w甩<br/>
? ? ? ? ? ? 西3環(huán)通透2居290萬 130萬2居限量搶購<br/>
? ? ? ? ? ? 黃城根小學(xué)學(xué)區(qū)僅260萬 121平70萬拋!<br/>
? ? ? ? ? ? 獨家別墅280萬 蘇州橋2居優(yōu)惠價248萬<br/>
? ? ? ? </div>
? ? </div>
</body>
</html>