2016-11-13 2 views
0

현재 quickly.js이라는 라이브러리를 프로그래밍 중입니다. conceal(milliseconds)display() 함수가 있으며 CSS를 통해 프로그래밍 된 애니메이션이 있습니다. 은폐 함수 애니메이션이 제대로 작동하지만 표시 함수 애니메이션이 제대로 작동하지 않습니다. 그것은 퇴색하지 않습니다. 대신 갑자기 나타납니다. 다음은 버그를 보여주는 JSFiddle입니다 : https://jsfiddle.net/v6esmqtf/6/.JavaScript + CSS3 애니메이션이 제대로 작동하지 않습니까?

+0

"올바르게 작동하지 않음"이란 무엇을 의미합니까? 원하는대로 구체적으로 작성하십시오. – discipline

+0

@discipline updated questions – Bennett

+0

표시 기능을 설정하지 않았습니다. jsfiddle.net/ypz7m241/ – discipline

답변

1

단순히 display 기능을 설정하지 않았습니다.

Element.prototype.conceal = function(ms) { 
    ms = ms || 0; 
    var thisStyle = this.style; 
    thisStyle.opacity = 0; 
    setTimeout(function() { 
    thisStyle.display = "none"; 
    }, ms); 
}; 

Element.prototype.display = function(ms) { 
    ms = ms || 0; 
    var thisStyle = this.style; 
    thisStyle.display = ""; 
    setTimeout(function() { 
    thisStyle.opacity = 1; 
    }, ms); 
}; 

그리고 ...이 도움이

document.getElementById("conceal").onclick = function() { 
    document.getElementById("get").conceal(800); 
}; 

document.getElementById("display").onclick = function() { 
    document.getElementById("get").display(0); 
}; 

희망.

+0

지연이 없어도 setTimeout()이 있어야합니다. 나는'display()'함수에서 매개 변수를 갖지 않도록 코드를 변경했다. 대신, 나는 0 지연과 setTimeout()를 실행합니다. – Bennett

+0

I think *'불투명도'에 내장 된 키 프레임 시간이 있기 때문에 -'$ ("# get") 대신 JQ를 사용할 수 있습니다. animate ({opacity : '1'}, 5000); stackoverflow.com/questions/23180504/css-opacity-change-on-div-with-time-delay-not-user-interaction – discipline

관련 문제