원생 JS 활동 카운트다운 실현 사고방식

10638 단어

원생 JS 활동 카운트다운 실현 사고방식


4
  • 하나의 이벤트 페이지에 여러 개의 이벤트가 있기 때문에 맵으로 모든 대상을 조작하고 하나의 이벤트만 있으면 훑어볼 필요가 없다. 이벤트는 거리 이벤트 시작과 거리 이벤트 종료 두 개의 카운트다운으로 나뉘어 수요에 따라 코드를 증감할 수 있다.그리고 IOS가 호환되지 않는 시간은 "-"로 연결되기 때문에 이동단은 "-"를 "/"로 바꿔서 호환해야 합니다

  • 하나의 이벤트 페이지에 여러 개의 이벤트가 있기 때문에 맵으로 모든 대상을 조작하고 하나의 이벤트만 있으면 두루 훑어볼 필요가 없다. 이벤트는 거리 이벤트 시작과 거리 이벤트 종료 두 개의 카운트다운으로 나뉘어 수요에 따라 코드를 증감할 수 있다.그리고 IOS가 호환되지 않는 시간은'-'로 연결되기 때문에 이동단은'-'를'/'로 바꿔 호환해야 한다.
    var timer = setInterval(function() {
    	mapForItem:function() {
    		data.map(function(item) {
    			var startTime = new Date(item.timeStart.replace(/-/g, "/")).getTime() // 
    			var endtTime = new Date(item.timeEnd.replace(/-/g, "/")).getTime() // 
    			var currentTime = new Date().getTime() // 
    			var surplusTime = startTime - currentTime > 0 ? startTime - currentTime : endtTime - currentTime // / 
    			item.hours =  Math.floor(surplusTime / (1000 * 60 * 60)) < 10 ? '0' + Math.floor(surplusTime / (1000 * 60 * 60)) : Math.floor(surplusTime / (1000 * 60 * 60)) // 
    			surplusTime = surplusTime - (item.hours * 1000 * 60 * 60) // 
    			item.minunts = Math.floor(surplusTime / (1000 * 60)) < 10 ? '0' + Math.floor(surplusTime / (1000 * 60)) : Math.floor(surplusTime / (1000 * 60)) // 
    			surplusTime = surplusTime - (item.minunts * 1000 * 60) // 
    			item.seconds = Math.floor(surplusTime / 1000) < 10 ? '0' + Math.floor(surplusTime / 1000) : Math.floor(surplusTime / 1000) // 
    			if(endtTime - currentTime < 1000) {
    				// 1000 1 , 
    				clearInterval(timer)
    				item.hours = '00'
    				item.minunts = '00'
    				item.seconds = '00'
    			}
    		})
    	},
    }, 1000)
    

    좋은 웹페이지 즐겨찾기