2014-02-03 3 views
0

На сайте я работаю (http://easyspeedy.greenlevel.pl), я добавил JQuery, чтобы сделать активный класс по меню с помощью следующего кода:Как остановить обновление страницы?

$("#menu li").click(function(){ 
//alert('hi'); 
$("#menu li").removeClass() 
$(this).addClass("active") 
}) ; 

После нажатия на меню, я могу видеть добавленный класса, используя функцию элемента проверки Chrome, но затем она мгновенно исчезает. Я использовал этот код много раз раньше, и он всегда работал.

Вторая странная вещь находится на нижней части сайта, прямо над нижним колонтитулом, есть фон, который фиксирован, и он освежает примерно через 5 секунд; это происходит только в Chrome. Как это исправить?

ответ

1

Первый простой. У вас есть ссылки в меню, поэтому после того, как вы нажмете на элемент li, он изменит местоположение страницы на a. Если у вас одностраничное приложение (а ваше нет), вы должны установить этот класс в базовый html-шаблон.

Вторая проблема более сложная и, вероятно, ошибка в Chrome. Одним из решений может быть (но я не уверен) уменьшение размера фонового изображения, так как это проблема с памятью. Или вы можете просто не использовать фиксированное фоновое изображение.

+0

благодарит за ответ. Я получил это с меню сейчас;) о фоновом режиме, я получил этот backgorund на слайдере, и он отлично работает, и на других страницах тоже. Просто этот человек ведет себя вот так - вот здесь странная вещь, но я стараюсь с размером изображения. Но вы имеете в виду размер как KB или ширину высоты? –

+0

Попробуйте уменьшить его для тестов, например, до 10 КБ, а затем попробуйте. – methyl

1

Возможно, вы нажимаете ссылку в меню и на самом деле загружаете связанный URL-адрес?

Если вы хотите, чтобы предотвратить связь от загрузки, вам нужно позвонить .preventDefault делать что-то вроде этого ...

$("#menu li a").click(function (event) { 
    event.preventDefault(); 
}); 

Или, возможно, я неправильно понял вашу проблему. ;-)

+0

вид, но все же хороший ответ xD –

Смежные вопросы