Я новичок в jQuery, и мне кажется, что я пропущу что-то очень очевидное и фундаментальное, но я не могу полностью обвести вокруг него голову.Передача функции с параметром для зависания в 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/ Это показывает объект, который я пытаюсь анимировать при наведении с зависанием, работающим для зеленой фигуры (первый бит кода в этом сообщении).
Ах, это имеет смысл спасибо! Хотя, если бы я хотел, чтобы другой объект появлялся в середине кольца для каждой части, будет ли это по-прежнему быть методом для этого? – Quintin
Это зависит от того, что вы хотите отобразить. Будет ли это похоже на метку или что-то, что всегда отображается в одном месте, но изменяется текстовое содержимое? – showdev
Я отредактировал jsfiddle & my post, чтобы проиллюстрировать то, что я думал. Должно жить сейчас. – Quintin