Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Комплексный набор популярных эффектов на сайте (https://javascript.ru/forum/events/75980-kompleksnyjj-nabor-populyarnykh-ehffektov-na-sajjte.html)

Jimmi 22.11.2018 11:32

Комплексный набор популярных эффектов на сайте
 
На сайте часто нужны следующие эффекты:

- Плавная прокрутка в меню
- Кнопка наверх (также с плавающим эффектом)
- Бургер-меню в мобильной версии
- Плавно-всплывающее окно
- Плавное увеличение картинок
- Форма обратной связи (без перезагрузки)
- Слайдшоу

И все это работает от JavaScript. Интересует вопрос, как лучше поступить, что-бы все работало от одной библиотеки и скрипты не конфликтовали? Существует ли какой-нибудь базовый комплексный набор скриптов, что-бы не городить кучу конфликтующего кода?

j0hnik 22.11.2018 12:24

для таких простых задач не нужны никакие библиотеки.

Jimmi 22.11.2018 14:48

Цитата:

Сообщение от j0hnik (Сообщение 499091)
для таких простых задач не нужны никакие библиотеки.


Странно. Берем с интернета готовый скрипт плавного перемещения от ссылки к якорю. Устанавливаем по инструкции, все работает. Отключаем библиотеку jquery.min.js, эффект плавности пропадает. Что не так? И почему?

Вот код:

<script type="text/javascript">
	 $(document).ready(function(){
		$("#menu").on("click","a", function (event) {
			event.preventDefault();
			var id  = $(this).attr('href'),
				top = $(id).offset().top;
			$('body,html').animate({scrollTop: top}, 1500);
		});
	});
	</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

Nexus 22.11.2018 15:08

Цитата:

Сообщение от Jimmi
Отключаем библиотеку jquery.min.js, эффект плавности пропадает. Что не так? И почему?

Потому что готовый скрипт требует обязательного наличия библиотеки jQuery.

j0hnik 22.11.2018 15:19

Jimmi,
https://developer.mozilla.org/ru/doc...scrollIntoView
прокрутка не требующая вашей библиотеки


Часовой пояс GMT +3, время: 22:48.