我是 jQuery 的新手,我觉得我错过了一些非常明显和基本的东西,但我不能完全理解它。
无论如何,我有一些代码可以在对象悬停时将笔画宽度设置为更宽的量并且它可以工作:
$(function() {
$("#wheel1").hover(grow1, shrink1);
});
function grow1(evt) {
$("#wheel1").animate({'stroke-width':'100'},300);
$("#circle1container").css({'display':'block'});
$("#circle1container").animate({'opacity':'1'},300);
}
function shrink1(evt) {
$("#wheel1").animate({'stroke-width':'55'},300);
$("#circle1container").animate({'opacity':'0'},300);
}
但是我还有 10 个其他对象也想这样做,所以我没有再复制和粘贴 9 次并更改数字 9 次,而是尝试合并它,但这没有用:
$(function() {
$("#wheel1").hover(grow("1"), shrink("1"));
$("#wheel2").hover(grow("2"), shrink("2"));
$("#wheel3").hover(grow("3"), shrink("3"));
$("#wheel4").hover(grow("4"), shrink("4"));
$("#wheel5").hover(grow("5"), shrink("5"));
$("#wheel6").hover(grow("6"), shrink("6"));
$("#wheel7").hover(grow("7"), shrink("7"));
$("#wheel8").hover(grow("8"), shrink("8"));
$("#wheel9").hover(grow("9"), shrink("9"));
$("#wheel10").hover(grow("10"), shrink("10"));
function grow(number) {
var name = "#wheel" + number;
$("#wheel" + number).animate({'stroke-width':'100'},300);
$("#circle" + number + "container").css({'display':'block'});
$("#circle" + number + "container").animate({'opacity':'1'},300);
}
function shrink(number) {
$("#wheel" + number).animate({'stroke-width':'55'},300);
$("#circle" + number + "container").animate({'opacity':'0'},300);
}
});
可能仍然不是最有效的方法,但我认为它的冗长和更容易改变。我只是不确定这里的交易是什么。欢迎任何帮助,谢谢!
http://jsfiddle.net/F4Yjj/5/这显示了我试图在悬停时设置动画的对象,悬停适用于绿色形状(此消息中的第一段代码)。