2012-04-16 12 views
-3

Web上にテキストを配置して、色を変更したり、元の色に戻したりします(約2秒)。一定の時間が経過した後にフォントの色を変更する

JavaScriptを使用しても可能ですか?

jQueryのあなたは、このような何かを行うことができますして
+0

他のすべての近代的なブラウザ

HTML/CSSのこのCSSを使うのか? – fcalderan

+0

何か試しましたか? SOは "コードを贈る"または "これを行うことはできますか?"という場所ではありません。それは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: .text { color:red; } .text.hover { 色:黄色; }

のjavascript:

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

なぜ30分ごとにクラスを削除するのですか?それがなくなると、それはなくなってしまい、それを明示的に追加しない限り、戻ってこないでしょう...そうするためには、間隔をクリアする必要があります。このアプローチは、非効率でデバッグするのが難しいです。 – Quentin

+0

ええ、それは大きな間違いでした、私はそれを変更しました。 – Chango

1

機能のこの種のsetTimeoutのまたはJavaScriptの他の種類を介さず、利用可能な場合CSS3によって提供されるべきです。だから、あなたは、IEのために以前に提案Javascriptのソリューションのいずれかを選択しますと仮定すると、単に純粋な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; 
} 
関連する問題