Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Добавление DIV в скрипт плавной прокрутки. (https://javascript.ru/forum/events/66949-dobavlenie-div-v-skript-plavnojj-prokrutki.html)

Mr.moro 19.01.2017 20:37

Добавление DIV в скрипт плавной прокрутки.
 
Всем привет!
Не пинайте, если разместил пост не в той теме,просьба модератора перенести в случае необходимости (ничего в JS не понимаю).
Есть JS скрипт для плавной прокрутки стр вверх (при клике на кнопку фокус плавно смещается вверх стр):

(function(){var a,b;b="salam",a="necesen?"}).call(this),$(function(){if($(".fancy-box").length&&$("a.fancy-box").fancybox({transitionIn:"elastic",transitionOut:"elastic",speedIn:600,speedOut:200,overlayShow:!1}),$(".toUp").length){var a=$(".toUp");a.on("click",function(a){$("html,body").animate({scrollTop:0},800),a.preventDefault()})}});


Так же на странице есть DIV с оглавлением, называется он "content-box".
Внутри этого дива список ссылок (якорные ссылки) внутри одной стр, при клике фокус резко смещается на якорь.
Как мне в предоставленный JS код добавить этот DIV, чтобы при клике на ссылки в этом блоке фокус так же плавно смещался на якорь?
Подумал, может есть возможность добавить div class="content-box" в этот JS и все будет автоматом плавно фокуситься....
Помогите плз! :)

рони 19.01.2017 21:24

Mr.moro,
http://javascript.ru/forum/showthrea...663#post356654
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Mr.moro 20.01.2017 09:05

Спасибо Рони за замечание, отредактировал!
Очень надеюсь, что это поможет и ускорит решение проблемы :)
Читал, что можно сделать так, чтобы все внутренние ссылки в body плавно прокручивались, в таком случае будет вообще не важно, в каком DIV они стоят.
Но как внедрить тот код в мой я не знаю.
Создавать + еще один JS код на странице думаю лишним, тк скрипт уже есть, его просто нужно дополнить.

рони 20.01.2017 09:09

Mr.moro,
вам ссылка выше не помогла?

Mr.moro 20.01.2017 09:15

Я наверно наглею... но можно код из ссылки вставить в мой код, который я написал выше.Я не смогу добавить код с Вашей ссылки в свой JS, потому что даже не знаю, что там есть что...
Если код в ссылке нельзя добавить в мой, уже существующий, тогда да, я просто создам новый JS и подключу его на страницы.
Просто не хотелось плодить скрипты на стр, тем более что они похожи...

рони 20.01.2017 09:26

Mr.moro,
видимо я не понимаю о чём вы спросили в первом посте и ниже, какая связь между вашим кодом и ссылками к якорям в блоке class="content-box" ... код по ссылке в посте №2 надо просто добавить на страницу.

Mr.moro 20.01.2017 09:32

Прошу прощения ! :)
Я посчитал, что код, который я предоставил отвечает за плавную прокрутку "вверх"...
Спасибо, что помогаете.
Я просто подключу JS ссылку на который вы скинули :)

рони 20.01.2017 09:35

Цитата:

Сообщение от Mr.moro
предоставил отвечает за плавную прокрутку "вверх"...

это так ...но использовать его для других ссылок неудобно.

Mr.moro 20.01.2017 09:38

Тогда понятно, спасибо! )))
Сегодня проверю код!

Mr.moro 20.01.2017 20:07

Сохранил JS скрипт с вашей ссылки в отдельный файл.
Подключил его на стр.
Но Фокус как был резким, так и остался.
Пробовал нагуглить другие скрипты по этой теме, все равно после того как вставляю скролл перемещается резко.
Такое ощущение, что скрипт просто не обрабатывается.
Пробовал ставить его в разные места между <head>, все одно...
Ставил сам код прямо в стр, нет нужного результата.
jQuery на стр подключен.
В чем может быть проблема?
В моем понимании, если фокус смещается, значит ссылка сама по себе работает, а вот скрипт нет.

рони 20.01.2017 20:09

Цитата:

Сообщение от Mr.moro
Подключил его на стр.

Цитата:

Сообщение от Mr.moro
jQuery на стр подключен.

после jQuery добавили?

Mr.moro 20.01.2017 20:14

Супер!!!!
Вот это оперативность ответа!!! :)
Все, проблема решена! У кого возникнет такая же проблема, вставляйте скрипт сразу после jQuery (jquery.min.js) и все будет работать :)
Спасибо Рони огромное! :)

рони 20.01.2017 20:17

Mr.moro,
:) :victory:

Mr.moro 20.01.2017 21:04

В общем вставка скрипта после JQuery создала следующую проблему :)
Плавный фокус до якоря работает исправно, все классно, но перестал работать скрипт плавной прокрутки "вверх" страницы....)))
Судя по всему это связано с тем, что после JQuery стоял именно скрипт прокрутки стр "вверх" , а так как я поставил выше него скрипт фокуса на якорь, то кнопка "вверх" перестала работать...
Это какой то кошмар...)))
Посоветуйте, как заставить их работать "совместно" ? )

рони 20.01.2017 21:07

Mr.moro,
ссылку в личку скиньте

рони 20.01.2017 21:16

Mr.moro,
$('a[href^="#"]').not('.toUp').on('click',function (e) {

добавить красное

Mr.moro 20.01.2017 21:28

Наспамил вам уже 3 сообщения в личку, со своими мыслями))))
А тут уже все сделано)
Да!Дописал то, что вы скинули и теперь работают оба скрипта! :)
Вы просто профи Рони, миллионный раз спасибо)))


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