Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Конфликтуют скрипты, как исправить ошибку в консоле?

Конфликтуют скрипты, как исправить ошибку в консоле?


     21.04.2018    Все вопросы » jQuery    1043

вопрос
Всем привет.
Конфликтуют скрипты, или не правильно написаны, я не пойму.
Кто сможет понять из-за чего ошибка, напишите пожалуйста.

На главной странице, при обновлении её по середине должна анимация загрузки быть.
В место этого просто пустой экран. Посмотреть её работу можно перейдя в новость. При переходе она покажется.
Конфликтует со скриптом (фиксация блоков). Мне интересны оба скрипта, но они почему-то не хотят вместе.


Ошибка на этом сайте - foto-mgn.ru

Ответил: Sander


/templates/lexter/js/fixed-off.js
Строку:
 var topPos = $('.floating').offset().top;

Заменить на:
 var topPos = $('.floating').offset();
 topPos = topPos ? topPos.top : 0;


или так:
 var topPos = $('.floating').length ? $('.floating').offset().top : 0;

6 комментариев

deadluk
Юзер

deadluk - 22 апреля 2018 10:27 -

ваша ошибка значит, что у свойства .top; результат выполнения метода offset() является неизвестным (undefined, null...).

попробуйте так.

найдите в шабе (скорее строка будет в main.tpl):
<footer></footer>


замените на:
<footer id="send-letter"></footer>


в js-файле fixed-off.js найдите:

$(function(){
 var topPos = $('.floating').offset().top;
  $(window).scroll(function() { 
  var top = $(document).scrollTop(),
      pip = $('footer').offset().top, //расстояние до подвала от верха окна браузера
      height = $('.floating').outerHeight(); //получаем значение высоты пл.блока
  if (top > topPos && top < pip - height) {$('.floating').addClass('fixed').fadeIn();} //блок будет виден, если значения соответствуют указанным
  else if (top > pip - height) {$('.floating').fadeOut(50);} //блок скроется когда достигнет заданного расстояния
  else {$('.floating').removeClass('fixed');}
  });
});


и замените на:

      $(function() {
          var topPos = $('.floating').offset().top;
          $(window).scroll(function() {
              var top = $(document).scrollTop(),
                  pip = $('#send-letter').offset().top,
                  height = $('.floating').outerHeight();
              if (top > topPos && top < pip - height) {
                  $('.floating').addClass('fixed').fadeIn();
              } else if (top > pip - height) {
                  $('.floating').fadeOut(50);
              } else {
                  $('.floating').removeClass('fixed');
              }
          });
      });


или попробуйте этот код (первая правка обязательна!):

$(document).ready(function() {
    var offset = $("#send-letter").offset();
    var topPadding = 20,
        bottomPadding = 210; //высота над которой остоновится
    $(window).scroll(function() {
        if ($(window).scrollTop() > offset.top) {
            if ($(document).height() - bottomPadding > $(window).scrollTop() + $("#send-letter").height()) $("#send-letter").stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding
            });
        } else {
            $("#send-letter").stop().animate({
                marginTop: 0
            });
        };
    });
});


также нужно указать высоту footer'a

можно попробовать заменить:
$(function() {

на:
$(document).ready(function() {


пробуйте

goglike
Юзер

goglike - 22 апреля 2018 15:38 -

На главной теперь всё гуд. Спасибо всем за ответы.
А вот в новости есть ещё одна ошибка, как её решить?
http://foto-mgn.ru/portfolio/21-regina-042018.html

deadluk
Юзер

deadluk - 22 апреля 2018 15:49 -

вы про the server responded with a status of 403?

отсутствует файл по пути, возможно он есть, но называется немного иначе, пробелы и.п. или же нет файла прав .htaccess в папке images
/templates/lexter/slider-pro/dist/css/images/openhand.cur

goglike
Юзер

goglike - 22 апреля 2018 16:03 -

файл есть. А где путь к нему менять?

deadluk
Юзер

deadluk - 22 апреля 2018 16:06 -

сервер сообщает о том, что его нет или он не может получить к нему доступ. если файл по пути есть, то посмотрите, нет ли в нём пробелов/русских букв... c < рус c - eng. в паке должен лежать файл прав .htaccess с таким содержимым:

Order Deny,Allow
Allow from all


если его нет, то создайте внеся строки выше

goglike
Юзер

goglike - 22 апреля 2018 16:07 -


Всё. Получилось, созданием файла .htaccess.
Спасибо!)

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх