Форум русской поддержки Joomla!® CMS
05.12.2016, 12:32:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Фиксированное всерху меню наезжает на блоки с якорными ссылками

 (Прочитано 175 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mehanick
Завсегдатай
*****

Репутация: +0/-0
Offline Offline

Сообщений: 430


« : 12.08.2016, 19:26:39 »

http://joomlaforum.ru/index.php/topic,329522.0.html

Собственно вот тема с проблемой

адрес сайта tur-3d.ru

Оплата 150 руб за помощь по решению

Есть прилипающее меню с якорными ссылками (лендинг),  если в меню  нажать на ссылки, то переход идет ниже чем нужно, закрывая часть блока лендинга.

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

Код:
jQuery(document).ready(function() {
   jQuery('a[href^="#am"]').click(function(){
      var target = jQuery(this).attr('href');
      jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 50}, 500);
      return false;
   });
});
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #1 : 12.08.2016, 20:30:15 »

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

Код
jQuery(document).ready(function() {
  jQuery('a[href^="#am"]').click(function(){
     var target = jQuery(this).attr('href');
     if ( jQuery(this).parents('#menubar').hasClass('bounce') ) {
jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 50}, 500);
     } else {
jQuery('html, body').animate({scrollTop: jQuery(target).offset().top}, 500);
     }
 return false;
  });
});
Записан
Mehanick
Завсегдатай
*****

Репутация: +0/-0
Offline Offline

Сообщений: 430


« Ответ #2 : 12.08.2016, 21:00:34 »

Здравствуйте, заменил код на ваш, но к сожалению это проблему не решило, заплачу за рабочий вариант.

Можете саму убедиться, ваш вариант сейчас на сайте
Записан
Mehanick
Завсегдатай
*****

Репутация: +0/-0
Offline Offline

Сообщений: 430


« Ответ #3 : 12.08.2016, 21:10:01 »

в общем удалось решить заменив

} else {
      jQuery('html, body').animate({scrollTop: jQuery(target).offset().top}, 500);
      }

на

} else {
      jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 100}, 500);
      }
Записан
Mehanick
Завсегдатай
*****

Репутация: +0/-0
Offline Offline

Сообщений: 430


« Ответ #4 : 12.08.2016, 21:12:21 »

Кидайте Яндекс кошелек я вам переведу 150 рублей
Записан
Mehanick
Завсегдатай
*****

Репутация: +0/-0
Offline Offline

Сообщений: 430


« Ответ #5 : 13.08.2016, 11:51:05 »

Перевел 150 руб

Объясни пожалуйста зачем в этой строке нужно .parents ?

if ( jQuery(this).parents('#menubar').hasClass('bounce') )
« Последнее редактирование: 13.08.2016, 11:54:51 от Mehanick » Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #6 : 13.08.2016, 14:57:45 »

.parent() выбирает непосредственного предка
.parents() всех.
.parents('#menubar') — выбрать предка с таким-то id
.hasClass('bounce') — проверяем наличие класса. Когда стикибар прилипает, там некоторые классы добавляются.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet