11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163

Не работает плавный скролинг

25.07.2014, 11:20. Показов 1399. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобратся в чём может быть причина что не работает скролинг?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="small-2 columns ">
      <a href="/#a3">Apie mus</a>
</div>
<div class="small-2 columns ">
     <a href="/#p3">Paslaugos</a>
</div>
<div class="small-2 columns ">
    <a href="/#k3">Kontaktai</a>
</div>
           
 
<a id="a3"></a>
<a id="p3"></a>
<a id="k3"></a>

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//scroll
    var theDestinations = $('a[id]');
 
    theDestinations.each(function(i){
 
        var thisDestination =  $(this),
            thisDestinationOffset = thisDestination.offset(),
            thisLink = $("a[href=#" + thisDestination.attr("id") + "]");
 
        if(thisLink.length > 0) {
            thisLink.click(function(){
                $('html,body').animate({scrollTop : thisDestinationOffset.top-70}, 1000);
                return false;
            });
        }
    });
Вместо id было name работало, но на найм с глюками откликался якорь сделал с id не работает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2014, 11:20
Ответы с готовыми решениями:

Не работает автоматический скролинг вниз страницы.
Я делаю автоматический скролинг в низ страницы на жабе var scroll = document.getElementById(&quot;info&quot;); scroll.scrollTop =...

Почему не работает плавный переход якоря?
Здравствуйте. Не пойму почему не работает плавный переход якоря (Jquery подключен, 100%). Вот код: Нужна часть кода html: &lt;nav...

Скролинг
Как в консоле можно создать скролинг?

16
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 11:26
sendxt, может уберешь слеш?

Цитата Сообщение от sendxt Посмотреть сообщение
href="/#a3"
HTML5
1
<a href="#a3" ></a>
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 11:32  [ТС]
Thisman, а если нужен слэш?

JavaScript
1
 var theDestinations = $('/a[id]');
так не работает

Добавлено через 1 минуту
да и без слэша попробовал тоже не работает, не может быть из-за того что сыллка в диве с классом?
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 11:42
Цитата Сообщение от sendxt Посмотреть сообщение
$('a[id]')
Не совсем понятна эта конструкция, что именно она ищет, ссылки по имени? У тебя же сейчас нет имени. Нужно изначально искать теперь по другому принципу. Либо просто

JavaScript
1
var a = $("a"); // либо как то по другому
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 11:47  [ТС]
Thisman, вот так верно должно быть?


JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 var theDestinations = $("a");
 
    theDestinations.each(function(i){
 
        var thisDestination =  $(this),
            thisDestinationOffset = thisDestination.offset(),
            thisLink = $("a[href=#" + thisDestination.attr("id") + "]");
 
        if(thisLink.length > 0) {
            thisLink.click(function(){
                $('html,body').animate({scrollTop : thisDestinationOffset.top-70}, 1000);
                return false;
            });
        }
    });
Добавлено через 36 секунд
сыллка + атрибут id

thisLink = $("a[href=#" + thisDestination.attr("id") + "]"); ?
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 11:48
Цитата Сообщение от sendxt Посмотреть сообщение
var theDestinations = $('/a[id]');
sendxt точнее вот эта строка. Слеш в начале смущает.
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 11:49  [ТС]
Thisman, да ладно быт слеш, без слеша тоже нефига
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 11:51
sendxt, попробуй для начала вывести theDestinations и thisLink, посмотри они правильно определяются вообще или нет. Мне кажется проблема именно в инициализации и поиске DOM элементов
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 12:13  [ТС]
Thisman,

как правильно это сделать, попробовал так

JavaScript
1
2
3
4
$('.paslaugos a').click(function(){
        alert(theDestinations);
        alert(thisLink);
    })
думал к этому времени сформированы уже будут переменные так как это код ниже того, но не всплывает алерт

Добавлено через 1 минуту
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//scroll
    var theDestinations = $("a[id]");
 
    theDestinations.each(function(i){
 
        var thisDestination =  $(this),
            thisDestinationOffset = thisDestination.offset(),
            thisLink = $("a[href=#" + thisDestination.attr("id") + "]");
 
        $('.paslaugos a').click(function(){
            alert(theDestinations);
            alert(thisLink);
        })
 
        if(thisLink.length > 0) {
            thisLink.click(function(){
                $('html,body').animate({scrollTop : thisDestinationOffset.top-70}, 1000);
                return false;
            });
        }
    });
Добавлено через 6 минут
Thisman, жесть нашёл ошибку, так было

HTML5
1
<p id="p3" href=""></a>
Добавлено через 19 секунд
про инициализацию переменных вопрос остался)

Добавлено через 1 минуту
И вопрос не решён если слеш всё таки нужен как искать правильно?

Добавлено через 4 минуты
слеш нужен чтобы с других страниц поподал на эти
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 12:24
sendxt, у тебя переменные , которые ты выводишь в анонимной функции, их снаружи не видно, поэтому и получить их снаружи не получилось
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 12:54  [ТС]
Как искать если в сыллке слеш перед самой сыллкой?

Добавлено через 12 минут
пробую так подставить не работает

JavaScript
1
thisLink = $("a[href=/#" + thisDestination.attr("id") + "]");
Добавлено через 2 минуты
JavaScript
1
thisLink = $("a[href=+ '/' + #" + thisDestination.attr("id") + "]");
//так тоже
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 13:03
sendxt, http://api.jquery.com/attribute-contains-selector/ вот тут описан твой селектор. Посмотри, там ставятся кавычки при значении атрибута
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 13:09  [ТС]
Thisman,

JavaScript
1
thisLink = $("a[href="/# + thisDestination.attr("id") + "]"); так Uncaught SyntaxError: Unexpected token ILLEGAL
не помогло мне описание селектора)
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 13:20
sendxt, да потому что у тебя кавычки друг друга перекрывают. Внутренние кавычки должны отличаться от внешних, посмотри, да же подсветка тебе намекает
0
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 13:32  [ТС]
Thisman, если мы о таком различии говорим то и так и наоборот не работает

JavaScript
1
2
 thisLink = $('a[href="/# + thisDestination.attr("id") + "]');
 thisLink = $("a[href='/# + thisDestination.attr("id") + ']");
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 13:34
sendxt, это не то что различие, у тебя синтаксис нарушался, это как минимум плохо)
И ты опять не угадал, попробуй вот так вот что ли

JavaScript
1
thisLink = $("a[href='/#" + thisDestination.attr("id") + "']");
1
11 / 11 / 13
Регистрация: 25.04.2012
Сообщений: 1,163
25.07.2014, 13:39  [ТС]
Thisman, так верно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2014, 13:39
Помогаю со студенческими работами здесь

Скролинг
Добрый день. У меня на форме имеется две панели, panel1, panel2. panel1 находиться внутри panel2 и имеет свойство AutoSize = True, а panel2...

Скролинг на JS
Как сделать чтобы при скролле 250px пользователь сразу перемещался на 768px вниз? Вот верстка :) &lt;!DOCTYPE html&gt; &lt;html...

скролинг
Здравствуйте, подскажите пожалуйста, как сделать много-уровненный скролинг по типу как этом сайте, как это называется, куда копать. ...

listview и скролинг
Использую его вместо лист бокса. Но строчки слишком длинные. Как сделать скролл по горизонтали чтоб можно было стрелочками листать?

Скролинг картинок
Здравствуйте. Подскажите как правильно сделать процесс листания картинок. Я просто видел несколько вариантов реализации и через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 31.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru