Я довольно новичок в написании своих собственных функций jquery, и я считаю, что отладка очень трудна, поскольку сообщения об ошибках не слишком полезны при вводе в Google.
У меня есть меню навигации для якорей страницы, когда при нажатии на каждый из них экран прокручивается до якоря, элементы меняют цвет в зависимости от того, какой из них и цвет при наведении. Я думаю, очень просто.
Прокрутка всегда работает, анимация иногда срабатывает, а при наведении работает, обычно мне приходится дважды щелкать ссылку. Возвращаемое значение false работает только для первой ссылки, которую вы нажали.
Используются плагины scrollTo и animate-colors.
Может кто-нибудь сказать мне, что я делаю не так?
$(".scrolltoanchor").click(function() {
$('a').removeClass('selected');
$(this).addClass('selected');
$.scrollTo($($(this).attr("href")), {
duration: 750
});
switch ($(this).attr("id")) {
case 'personal':
$('.scrolltoanchor').animate({color: '#E4D8B8'});
$(".scrolltoanchor").hover(
function() {
$(this).css('color', 'blue');
},function(){
$(this).css('color', '#E4D8B8');
});
break;
case 'achievements':
$('.scrolltoanchor').animate({color: '#ffffff'});
$(".scrolltoanchor").hover(
function() {
$(this).css('color', 'red');
},function(){
$(this).css('color', '#ffffff');
});
break;
case 'skills':
$('.scrolltoanchor').animate({color: '#dddddd'});
$(".scrolltoanchor").hover(
function() {
$(this).css('color', 'orange');
},function(){
$(this).css('color', '#ffffff');
});
break;
}
return false;
});
Извините, что попросил, чтобы меня обманывают, но я следовал тому, что я считал правильным синтаксисом из того, что я выучил. Есть ли что-то, что я должен знать, чтобы остановить эту работу, как я ожидаю?
РЕДАКТИРОВАТЬ: Извините, я забыл, я получаю эту ошибку (в среднем) каждый второй щелчок ссылки прокрутки
Uncaught TypeError: Невозможно прочитать свойство '0' из неопределенного
Я не могу определить реальную модель. Иногда кажется, что это происходит только с теми, на которые раньше не нажимали, иногда нет.
Спасибо