기본 JS 구현: Tap 효과, 모드 상자 효과

7064 단어
Tap 효과
코드:



    
    Tab  
    


    
  • JavaScript HTML 。 JavaScript , 、 、 , 。 JavaScript , 。

  • , div, div, div click ? :

    1.IE : , 。

    2.Netscape : , , 。

    3.DOM :DOM2 , , , , , , , 。

  • (listener), 。 click、load、mouseover , ( ), 。

    , , , 。

var tabHeader = document.querySelector('.tab-header'); var tabHeaderLis = document.querySelectorAll('.tab-header>li'); var tabContentLis = document.querySelectorAll('.tab-content>li'); tabHeader.addEventListener('click',function(e){ var clickNode = e.target; // if(clickNode.tagName.toLowerCase() === 'li'){ for(i=0; i<tabHeaderLis.length; i++){ // tabHeaderLis tabHeaderLis[i].classList.remove('active'); // tabHeaderLis active active border: 1px solid #ccc; } clickNode.classList.add('active'); // active active border: 1px solid #ccc; var idx = [].indexOf.call(tabHeaderLis,clickNode); //ES5 tabHeaderLis for(i=0; i<tabContentLis.length; i++){ tabContentLis[i].classList.remove('active'); // active active display: block; } tabContentLis[idx].classList.add('active'); // active active display: block; } })

Tap 효과 미리 보기
모드 상자 효과
코드:



    
         
    


      

    
X

var btn = document.querySelector('#btn'); var box = document.querySelector('.box'); var close = document.querySelector('.close'); var cancel = document.querySelector('.cancel'); btn.addEventListener('click',function(e){ e.stopPropagation(); // btn , , 112 , box 。 box.style.display = 'block'; document.body.classList.add('active'); }) box.addEventListener('click',function(e){ e.stopPropagation(); // box , , 112 , box 。 }) window.addEventListener('click',function(){ box.style.display = 'none'; document.body.classList.remove('active'); // body active 。 }) close.addEventListener('click',function(){ box.style.display = 'none'; document.body.classList.remove('active'); }) cancel.addEventListener('click',function(){ box.style.display = 'none'; document.body.classList.remove('active'); })

모드 상자 효과 미리 보기

좋은 웹페이지 즐겨찾기