1. 程式人生 > 其它 >js的dom案例1

js的dom案例1

DOM的案例

  1.  點選1個按鈕換圖片
  2.  點選不同的按鈕 切換不同的圖片
  3.  點選按鈕,然後圖片滑動切換(css3 transform滑動效果)
  4. 實現選中狀態,非選中狀態,通過className屬性

 

 

 遇到的問題
 圖片有路徑,但是在瀏覽器沒有顯示出?
 絕對路徑可以顯示出來
 ​
 解決方法:
 ../../就可以到前面的層了
 ​
 ​
 ​

 

案例1
 點選按鈕換圖片
 //獲取按鈕 物件
 //獲取img 物件
 //給按鈕的點選事件繫結=監聽函式
 //函式裡面是 圖片的src屬性被修改 
 ​
 ​
 ​
 ​
 ​
 <div>
         <img src="../../images/bannerroll (1).jpg" alt="">
     </div>
     <button>1</button>
 ​
     <script>
         var btn=document.querySelector('button');
         var img=document.querySelector('img')
 ​
         btn.onclick=function(){
             img.src='../../images/bannerroll (2).jpg';
 ​
         }
 ​
     </script>
案例2
 點選不同的按鈕 切換不同的圖片
 ​
 //獲取按鈕 圖片物件
 //建立圖片src內容的陣列,存放圖片的src的地址
 //遍歷按鈕物件,繫結事件
 //事件內容就是圖片的src的值在換
 ​
 <div>
         <img src="../../images/bannerroll (1).jpg" alt="">
 </div>
 <button>1</button>
 <button>2</button>
 <button>3</button>
 ​
 <script>
     //獲取 圖片 按鈕   物件
 var img=document.querySelector('img');
 var btns=document.querySelectorAll('button');
 //建立 陣列  存放圖片地址
 let imgSrcList=['../../images/bannerroll (1).jpg','../../images/bannerroll (2).jpg','../../images/bannerroll (3).jpg'];
 ​
 //遍歷按鈕集合
 for(let i in btns){
  //繫結事件
 btns[i].onclick=function(){
  //圖片的地址在改變
 img.src=imgSrcList[i];
 }
 }
 ​
案例2升級版
 點選按鈕,然後圖片滑動切換
 <!DOCTYPE html>
 <html lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>滑動圖片切換</title>
     <style>
         .swiper{
             width: 400px;
             height: 600px;
             margin: 0 auto;
             overflow: hidden;
             //定位父元素按鈕
             position: relative;
         }
         .swiper .img_container{
             width:1200px;
            //圖片橫排
             display: flex;
             transition: 0.4s;
 ​
         }
         .swiper .img_container img{
             width:400px;
         }
         .btn{
             //按鈕絕對定位出來
             position: absolute;
             bottom: 0;
         }
 ​
     </style>
   </head>
   <body>
     <div class="swiper">
       <div class="img_container">
         <img src="../../images/bannerroll (3).jpg" alt="" />
         <img src="../../images/bannerroll (5).jpg" alt="" />
         <img src="../../images/bannerroll (6).jpg" alt="" />
       </div>
       <div class="btn">
           <button>1</button>
           <button>2</button>
           <button>3</button>
       </div>
     </div>
     <script>
         let container=document.querySelector('.swiper .img_container');
         let btns=document.querySelectorAll('button');
         for(let i in btns){
             btns[i].onclick=function(){
                 container.style.transform=`translate(${i*-400}px)`
             }
         }
 ​
 ​
 ​
     </script>
   </body>
 </html>

 

案例3
 實現選中狀態,非選中狀態,通過className屬性
 ​
     <style>
         .active{
             background-color: red;
         }
     </style>
 </head>
 <body>
     <h1>HEllo Word!</h1>
     <h1>HEllo Word!</h1>
     <h1>HEllo Word!</h1>
     <h1>HEllo Word!</h1>
     <h1>HEllo Word!</h1>
     
     <script>
         //利用className實現選中和取消選中的方法
         let h1List=document.querySelectorAll('h1');
                for(let i in h1List){
             h1List[i].onclick=function(){
                 // this.className='active';
                 //條件判斷需要使用等等等號
                 if(this.className==='active'){
                     this.className='';
                 }else{
                     this.className='active';
                 }
             }
         }
     </script>