私は、マウスをその上に移動したときにフォントの色を変更できるようにするプロジェクトに取り組んでいます。これがjqueryプラグインなしのバージョンです:これがhtmlコード部分です:
<div><a href="#" style="color:#000000;text-decoration:none;font-size:20px;" id="myFontDaemon"><strong>my web link places here</strong></a></div>
これがjavascriptの部分です:
var tColorTimer;
var myColorCollection = ["#FF6682", "#26FF51", "#263FFF", "#FF16B1", "#FFB135", "#C2B5FF","#000000"];
//bind event
function changeFontColorWhenHover() {
$("#myFont").bind("mouseover", function () {
changeFontColor(0);
});
}
//change font color
function changeFontColor(m) {
var colorValue = myColorCollection[m];
$("#myFont").css("color", colorValue);
if (m < 7) {
tColorTimer = setTimeout('changeFontColor(' + (m + 1) + ')', 100);
}
}
//init bind
$(document).ready(function () {
changeFontColorWhenHover();
});
上記のコードは正しく機能します。しかし、それらをサンプルのjqueryプラグインに変換すると、期待どおりに例外がスローされます']'、jqueryプラグインを何度も検索しましたが、見逃したものが見つかりません。これがjqueryプラグインの部分です:
(function ($) {
$.fn.fontdaemon = function () {
this.each(function () {
$(this).bind("mouseover", function () { // onmouseover event is raised
changeFontColor($(this), 0);
});
});
};
var tColorTimer;
var myColorCollection = ["#FF6682", "#26FF51", "#263FFF",
"#FF16B1", "#FFB135", "#C2B5FF", "#000000"];
function changeFontColor(obj, m) {
var colorValue = myColorCollection[m];
alert(m + "--" + colorValue);
$(obj).css("color", colorValue);
if (m < 7) {
tColorTimer = setTimeout('changeFontColor(' + obj + "," + (m + 1) + ')', 50);
}
alert(m + "--" + colorValue);
};
})(jQuery);
次に、以下のコードを使用して呼び出します。
<script src="fontdaemon.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#myFontDaemon").fontdaemon();
});
</script>
マウスをテキストの上に移動すると、色が変更されますが、色配列の最初の色にのみ変更され、「Expected']'」として例外がスローされます。
誰でも私を助けることができますか?どうも。
PS:私はグーグルをたくさん検索しましたが、解決策を見つけることができません。フィードバックをいただければ幸いです。ありがとうございました。