2015-02-13 2 views
0

У меня есть проблема с добавлением класса после свитка, и это действительно странно для меня, и вот почему:Скрипт работает только на главной странице

Я использовал этот скрипт на нескольких проектах, и никогда не имел эту проблему раньше. Когда я просматриваю домашнюю страницу, сценарий работает эффективно, класс «Исправлено» добавляется в класс «navigacija», а социальные значки, меню и языки фиксируются в верхней части страницы. Но на других страницах это не так. Класс «Fix» не добавляется в класс «navigacija» после прокрутки на 145 пикселей вниз. И что более интересно, я вставляю очень большое изображение специально в this page, и пока страница загружает это изображение, мой скрипт работает (попробуйте прокрутить вниз до загрузки изображения). Когда страница полностью загружена, сценарий больше не работает. Я работаю в Joomla, я создал свой собственный шаблон, я не устанавливал никаких модулей, компонентов или плагинов. Есть только стандартные js-файлы Joomla и мои сценарии, которые я использовал ранее с этим скриптом без каких-либо проблем.

Вот сайт, я работаю над: http://investfarm.moderanweb.rs/

и вот скрипт:

$(function() { 
    var navigacija = $(".navigacija"); 
    $(window).scroll(function() {  
     var scroll = $(window).scrollTop(); 

     if (scroll >= 145) { 
      navigacija.removeClass('navigacija').addClass("Fix"); 
     } else { 
      navigacija.removeClass("Fix").addClass('navigacija'); 
     } 
    }); 
}); 

Пожалуйста, помогите, спасибо заранее.

+0

в вашей второй странице, похоже, существует конфликт с помощью '$', если вы используете jQueryNoConflict вы должны изменить '$' в 'jQuery' или я не прав! –

+1

Несколько ошибок в консоли. Первое, что вам нужно сделать, это понять эти ошибки. – jfriend00

+0

В своем роде у вас есть 2 версии jQuery, загружаемых на ваш сайт, и попытка загрузить 3-ю версию (которая не работает, как указано в @ jfriend00). Загрузка нескольких экземпляров jQuery может привести к конфликтам – Lodder

ответ

0

Для начала запустите ошибки, отображаемые в консоли.

У вас есть несколько тегов скриптов, которые указывают на HTML-страницу не на сценарий.

<script type="text/javascript" src="/templates/investfarmimpexmd/js/jquery-2.1.1.js"></script> 
<script type="text/javascript" src="/templates/investfarmimpexmd/js/wow.min.js"></script> 
<script src="/js/wow.min.js"></script> 

Я не знаю, что вы ожидали от загрузки, но это не загрузка скрипта и вызывает ошибки.

Возможно, они отмечены как type="text/template", чтобы браузер не пытался их выполнить, и вы можете использовать их в качестве шаблонов?


И у вас есть ошибку на этой линии инлайн Javascript, который указывает, что Jquery не загружается должным образом, вы должны выяснить, почему это:

jQuery(window).on('load', function() { 
    new JCaption('img.caption'); 
}); 

И, вы загружаете несколько разных версий jQuery на одной странице, но не управляете тем, как используются эти разные версии. Вы не можете просто загрузить версию jQuery, выпустить jQuery.noConflict() и загрузить другую версию jQuery. Первое не будет делать ничего в этом пункте, поэтому, если вам это нужно, он не будет работать.

0

Попробуйте изменить $ к jQuery если вы используете jQueryNoConflict, и почему она работает на домашней странице, я думаю, потому что библиотека Jquery загружается в два раза, до и после того, как библиотеки MooTools, поэтому попробуйте это вместо этого, и вы должны сделать то же самое для ToolTip и других материалов:

jQuery(function() { 
    var navigacija = $(".navigacija"); 
    jQuery(window).scroll(function() {  
     var scroll = jQuery(window).scrollTop(); 

     if (scroll >= 145) { 
      navigacija.removeClass('navigacija').addClass("Fix"); 
     } else { 
      navigacija.removeClass("Fix").addClass('navigacija'); 
     } 
    }); 
}); 
+0

Это решило мою проблему. Спасибо! И спасибо всем за быстрые ответы. Я постараюсь выяснить, какая консоль говорит мне –

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