Хорошо, прежде чем вы просмотрите приведенный ниже код, я знаю, что это AWFUL. Это избыточно и раздуто, и я не прошу кого-нибудь его исправить :)jQuery Chaining/Efficiency Advice
Мне интересно, что мне нужно для изучения, чтобы исправить это самостоятельно. Я работаю над небольшим проектом для моей дочери, интерактивной таблицы умножения, которую она может просматривать в Mobile Safari.
Я хочу выделить ячейки, которые приводят к выбранному числу. Итак, я создал это, и я делюсь им, потому что я хочу его улучшить, но пока у меня недостаточно знаний.
Какие принципы мне необходимы для изучения, чтобы улучшить эту функциональность?
Вы можете увидеть все это здесь: http://dandenney.com/dev/jasmultiplication
100 (10 х 10) является примером того, что я пытаюсь достичь, но я хочу сделать это для каждого номера:
// This starts base functionality of highlighting the involved numbers, 10x10=100
$(document).ready(function() {
$(".tenxten").hover(function() {
$("td").addClass("non-choice");
}, function() {
$("td").removeClass("non-choice");
});
$(".tenxten").hover(function() {
$(".twoxten, .threexten, .fourxten, .fivexten, .sixxten, .sevenxten, .eightxten, .ninexten").addClass("vertical-trail");
}, function() {
$(".twoxten, .threexten, .fourxten, .fivexten, .sixxten, .sevenxten, .eightxten, .ninexten").removeClass("vertical-trail");
});
$(".tenxten").hover(function() {
$(".tenxtwo, .tenxthree, .tenxfour, .tenxfive, .tenxsix, .tenxseven, .tenxeight, .tenxnine").addClass("horizontal-trail");
}, function() {
$(".tenxtwo, .tenxthree, .tenxfour, .tenxfive, .tenxsix, .tenxseven, .tenxeight, .tenxnine").removeClass("horizontal-trail");
});
$(".tenxten").hover(function() {
$(".vertical-ten, .horizontal-ten").addClass("choice");
}, function() {
$(".vertical-ten, .horizontal-ten").removeClass("choice");
});
});
Я не очень тщательно изучил ваш код, но думаю, что вы, вероятно, сможете сделать его более элегантным, используя метод '.data()', который позволяет хранить произвольные данные с соответствующими элементами. См. Http://api.jquery.com/data/ –