2012-04-16 3 views
-3

웹 사이트에 텍스트를 삽입하여 색상을 변경하고 일부 색상 (예 : 2 초) 후에 원래 색상으로 되돌립니다.특정 시간이 지난 후 글꼴 색상 변경

JavaScript를 사용하여 가능합니까?

jQuery를이 같은 작업을 수행 할 수 있습니다와
+0

다른 모든 현대적인 브라우저

HTML/CSS를이 CSS를 사용할 수 있습니까? – fcalderan

+0

시도해 보셨습니까? 그래서 "코드 줘"또는 "내가 이럴 수있어?"에 대한 장소가 아닙니다. 그래서 Google이 아닙니다. –

답변

1

(JSFiddle here)

HTML :

<a id='v1'>Hello</a>​ 

JS :

​setTimeout(function() { 
    $('#v1').css('color','#777'); 
}​,2000);​ 

편집 : 전체 JSFiddle 예 here

JS :

$('#v1').hover(function() { 
    $(this).css('color','#777'); 
}, function() { 
    setTimeout(function() { 
     $('#v1').css('color','#000'); 
    },2000); 
}); 

0

이 기능을 사용하여 텍스트에 onmouseout="timedFunction()"를 추가

여기
function timedFunction{  
    var timeout = setTimeout("changeColor()",timeInMilliseconds); 
} 
+0

문자열을'setTimeout'에 건네주지 마십시오 – Quentin

+0

@Quentin 왜 안 되니? – Kappei

+0

그들은'eval'ed를 얻었 기 때문에, 느리고, 디버그하기가 어렵고 범위 문제가 있습니다. – Quentin

-2

가의 setTimeout을 사용하여 동작하는 예제입니다;

css : . 텍스트 { color : red; } .text.hover { 색상 : 노란색; }

자바 스크립트 : 여기

var timeoutId = null; 
$(".text").hover(function() { 
    if (timeoutId != null) { 
     clearTimeout(timeoutId); 
     timeoutId = null; 
    } 
    $(this).addClass("hover"); 
}, function() { 
    var $element = $(this); 
    timeoutId = setTimeout(function() { 
     $element.removeClass("hover"); 
    }, 500); 
});​ 

그리고는 jsfiddle입니다 :

+1

반 시간마다 수업을 삭제하는 이유는 무엇입니까? 일단 사라지면 사라지고, 명시 적으로 추가하지 않으면 되돌아 오지 않을 것입니다. 그런 다음 간격을 지워야합니다. 이 방법은 비효율적이며 디버깅하기가 더 어렵습니다. – Quentin

+0

그래, 큰 실수 였어. 내가 바꿨어. – Chango

1

기능의이 종류는 CSS3에서 제공되어야 가능한 경우,의 setTimeout의 또는 자바 스크립트의 다른 종류를 포함하지 않고. 그래서, 당신은 IE에 대한 이전의 제안 자바 스크립트 솔루션 중 하나를 선택합니다 가정, 단순히 순수 CSS3 솔루션은 당신을 위해 허용

<span>hover me</span> 

span { 
    color : green; 
    -webkit-transition : color 2s linear; 
    -msie-transition : color 2s linear; 
    -moz-transition : color 2s linear; 
    -o-transition : color 2s linear; 
    transition : color 2s linear; 
} 

span:hover { 
    color : red; 
} 
관련 문제