Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.02.2015
Сообщений: 11

Плавная прокрутка окна со смещением целевого положения.

15.02.2015, 18:12. Показов 1790. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Сделал плавную прокрутку на сайте при помощи плагина "jq.scrollTo-min.js". Теперь изза фиксированной шапки сверху страницы нужно сделать прокрутку не точно до id блока, а с каким-то смещением (высота шапки), иначе она перекрывает заголовок блока. Как это можно сделать? Код прокрутки:

JavaScript
1
2
3
4
5
6
7
8
jQuery(document).ready(function()
{
    jQuery('#menu a').click(function(){
        var str=jQuery(this).attr('href');
            jQuery.scrollTo(str, 500);
        return false;
    });
});
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2015, 18:12
Ответы с готовыми решениями:

Плавная прокрутка на JS
$(".buttUp").click(function (){ scrollBlock = $(".block_1").offset().top; $("html").animate({scrollTop:scrollBlock},...

ScrollViewer плавная прокрутка
Делаю что-то типа галереи. Одна фотка показывается крупным планом, все остальные фотографии из папки показываются маленькими (превьюшки)....

Плавная прокрутка изображения
Доброго дня. задача очень примитивна. моя реализация представлена тут - http://jsfiddle.net/h7H54/10/ суть вопроса - сделать тоже...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
18.02.2015, 13:09
там демо есть
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
<li><a title="$(...).scrollTo( 'li:eq(15)', 1000 );" id="options-no" href="#">no options</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {axis:'x'} );//only scroll on this axis (can be x, y, xy or yx)" id="options-axis" href="#">axis</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', {duration:3000} );//another way of calling the plugin" id="options-duration" href="#">duration</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 2500, {easing:'elasout'} );//specify an easing equation" id="options-easing" href="#">easing</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {margin:true} );//deduct the margin and border from the final position" id="options-margin" href="#">margin</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {offset:-50} );//add or deduct from the final position" id="options-offset" href="#">offset</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="options-offset-hash" href="#">offset(hash)</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="options-offset-function" href="#">offset(function)</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {over:0.5} );//add or deduct a fraction of its height/width" id="options-over" href="#">over</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1000, {over:{top:0.2, left:-0.5} );" id="options-over-hash" href="#">over(hash)</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1600, {queue:true} );//scroll one axis, then the other" id="options-queue" href="#">queue</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1600, {onAfter:function(){ } } );//called after the scrolling ends" id="options-onAfter" href="#">onAfter</a></li>
            <li><a title="$(...).scrollTo( 'li:eq(15)', 1600, {queue:true, onAfterFirst:function(){ } } );//called aft
0
8 / 8 / 5
Регистрация: 22.04.2013
Сообщений: 24
18.02.2015, 20:48
Уверен,что нужно целый плагин подрубать ради скролла к элементу?
Я обычно вот такой самопиской пользуюсь:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function getOffset(elem){//вычисляем положение элемента
  offset=Math.round(elem.offset().top);
  return offset;
}
function scrollTo(elem,delta){//собственно скролл
  $("html:not(:animated),body:not(:animated)").animate({scrollTop: getOffset(elem)-delta}, 800);
  return false;
}
$('.scrollTo').click(function(){//выбираем все 
   var delta=200;//задаем отступ
   var elem=$'#'+$(this).data('id'));//получаем элемент до которого будем скроллить
   scrollTo(elem,delta);
})
HTML5
1
<div class="scrollTo" data-id='idxxx'></div>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2015, 20:48
Помогаю со студенческими работами здесь

Плавная прокрутка в TScrollBox
Собственно как сделать плавную прокрутку в скролбокс'е ?

Плавная прокрутка к якорю
Здравствуйте, я пока только учусь...немного не догоняю, в общем на странице есть меню &lt;ul&gt; &lt;li&gt;&lt;a class=&quot;link...

Плавная горизонтальная прокрутка
Уже не нужно, сам сделал.

Плавная прокрутка Drawgrid
Когда прокручиваешь ползунок в drawgrid то таблица перемещается только когда отпустишь кнобку мыши. Надо чтобы перемещалось сразу при...

Плавная прокрутка в QScrollArea
Добрый вечер! Появилась необходимость использовать QScrollArea в своем приложении (Приложение под WP8), управление пальцев в области...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.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 Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru