我正在研究一个项目,让它在移动鼠标时改变它的颜色。 这里是没有的jQuery插件版本: 这里是HTML代码的一部分:我的jquery插件抛出异常
<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:我搜索了很多谷歌,但找不到解决方案,任何反馈将不胜感激,非常感谢。
thx,它现在工作正常。 – CharlieShi