2013-09-25 2 views
0

JS setinterval/settimeout과 비슷한 효과를 얻으려고하지만 CSS3를 사용하려고합니다. 지금까지 원하는 효과를 얻었으나 호버 만 사용하십시오. 마우스를 움직일 필요없이 애니메이션이 매 3-4 초마다 실행되도록하려면 어떻게해야합니까?setinterval에 CSS3 crossfade simialr

고려 :

<div id="crossfade"> 
    <img class="bottom" src="http://www.boohoo.com/content/ebiz/boohoo/resources/images /topbanners/Offer_Strip_GBP_v1.jpg" /> 
    <img class="top" src="http://www.boohoo.com/content/ebiz/boohoo/resources/images/topbanners/Offer_Strip_EUR_v1.jpg" /> 
</div> 

그리고 :

#crossfade { 
    position:relative; 
    height:250px; 
    width:400px; 
} 
#crossfade img { 
    position:absolute; 
    left:0; 
    opacity: 1; 
    -webkit-transition: opacity 1s ease-in-out; 
    -moz-transition: opacity 1s ease-in-out; 
    -o-transition: opacity 1s ease-in-out; 
    -ms-transition: opacity 1s ease-in-out; 
    transition: opacity 1s ease-in-out; 
} 
#crossfade img.top:hover { 
    opacity:0; 
} 

그리고 바이올린 : http://jsfiddle.net/qEwPb/

+0

당신은 사용할 수 있습니다 ['animation'] (https://developer.mozilla.org/en-US/docs/Web/CSS/animation). – Passerby

+0

자세히 설명해 주시겠습니까? 또는 예를 보여 주겠습니까? :) – Myles

+0

http://jsfiddle.net/qEwPb/3/ – Passerby

답변

1

코멘트에서 확장 :

당신이 사용할 수있는 CSS3 animation

#crossfade img { 
    position:absolute; 
    left:0; 
} 
#crossfade img.top { 
    -webkit-animation-name:pulse; 
    -webkit-animation-iteration-count:infinite; 
    -webkit-animation-timing-function:ease-in-out; 
    -webkit-animation-duration:1s; 
    -webkit-animation-direction:alternate; 

    animation-name:pulse; 
    animation-iteration-count:infinite; 
    animation-timing-function:ease-in-out; 
    animation-duration:1s; 
    animation-direction:alternate; 
} 

@-webkit-keyframes pulse { 
    0% { 
     opacity:1; 
    } 
    100% { 
     opacity:0; 
    } 
} 
@keyframes pulse { 
    0% { 
     opacity:1; 
    } 
    100% { 
     opacity:0; 
    } 
} 

Browser compatibility

Online demo

당신의 필요에 맞게 animation-duration을 조정합니다.

편집 :

몇 초 동안 투명이이 같은 것을 사용

img.top { 
    animation-duration:5s; 
} 
@keyframes pulse { 
    0% { 
     opacity:1; 
    } 
    20% { 
     opacity:0; 
    } 
    100% { 
     opacity:0; 
    } 
} 
+0

지금 내가 겪고있는 문제는 다음과 같습니다. http://jsfiddle.net/qEwPb/6/ 애니메이션은 두 번째 이미지에만 머물러 있습니다. 두 번째, 다시 변경하기 전에 .. 어떤 제안? – Myles

+0

@Myles 얼마나 오래 머물고 싶습니까? 이제 바이올린은 5 초를 사용하여 거래를하고 1 초는 0에서 20 %까지 처리합니다. , 하단에 4 % (20 % -100 %) 동안 머무르며 뒤로 이동하십시오. 필요에 맞게 키 프레임에서 애니메이션 지속 시간과 백분율을 조정할 수 있습니다. – Passerby

+0

감사했습니다. :) jQuery를 사용하여 종료되었습니다. 모든 브라우저와 플랫폼에서 작동하려면이 기능이 필요했습니다. IE의 구버전을 딩 (ding)한다. http://jsfiddle.net/ezR8h/ – Myles

관련 문제