Автор

10 04.2013
Простой плавающий блок на jQuery

Простой плавающий блок на jQuery


 

В последнее время на сайтах и в блогах стало популярным размещать фиксированный или правильнее сказать, плавающий блок, в который можно поместить меню, форму подписки или другую информацию, которая должна быть обязательно на виду. Суть в том, что такой блок изначально расположен как обычный элемент, но при прокрутке фиксируется и движется вместе со всей страницей, оставаясь видимым.

 

В общем-то меня эта тема не обошла стороной, и решил я сделать себе плавающие меню, с помощью jQuery и этого самого фиксированного блока. И вот менюшка "плавает", как и задумывалось, и теперь пришло время поделится тем, как просто и быстро сделать такой плавающий блок со смещением у себя на сайте или в блоге.

В принципе, простой фиксированный блок возможно реализовать и только при помощи CSS - свойства position со значением fixed, но тогда он изначально будет намертво определен в заданной точке на мониторе посетителя и "плавающим", его будет назвать проблематично. Нам же нужен блок, который смещается и фиксируется лишь при прокрутке страницы.

 

Сразу замечу, что вариантов реализации в сети достаточно, но действительно толковых не много. Большинство обладают громоздким, часто не нужным, кодом, а некоторые не совсем и универсальны. Данный вариант самый простой, без анимаций и прочего - немного CSS и совсем немного jQuery.
HTML будет выглядит так:

<div class="floating">
   <!--Тут содержимое блока-->
  </div>

 

Теперь CSS. Сразу добавим и новый класс, у которого позиционирование зададим как fixed:

.floating {
 background:#1c1c1c;
 color:#fff;
 font: normal normal 14px Tahoma;
 padding:10px;
 width: 300px; /*указываем ширину*/
}
.fixed {
 position: fixed;
 top: 10px; /*здесь указываем отступ сверху*/
 z-index: 9999; /*устанавливаем блок поверх всех элементов на странице*/
}

 

Позиционирование у блока .floating, указывать не нужно, однако он должен располагаться внутри родительского элемента, относительно которого будет позиционироваться на странице. Также нужно указать ширину иначе при фиксированном позиционировании он займет всю доступную область и выйдет за границы родителя.

 

А вот и сам скрипт jQuery. Его задача проста - когда страница прокручена до определенной высоты добавить класс и зафиксировать блок.

$(function(){
 $(window).scroll(function() {
  var top = $(document).scrollTop();
  if (top > 200) $('.floating').addClass('fixed'); //200 - это значение высоты прокрутки страницы для добавления класс
  else $('.floating').removeClass('fixed');
 });
});

 

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

 

Как подключить jQuery

Использование JavaScript-библиотеки jQuery позволяет во многом упростить написание всевозможных функций для сайта, используя гораздо меньше строк кода. При этом, возможности jQuery практически не ограничены. Для того чтобы использовать и применять скрипты написанные на этой JS-библиотеке сначала необходимо подключить ее к своему сайту. Сделать это возможно несколькими способами:

1. Удаленно подключить jQuery с хостинга JS-библиотек Google или Яндекс
  Google
  Всегда использовать последнюю версию

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Использовать указанную версию

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

Яndex

<script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>

2. Подключать библиотеку с официального сайта jQuery, получая всегда последнюю версию:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

3. При использовании собственного сервера. Скачать js-файл с библиотекой, загрузить в директорию на своем сервере и подключить, указав путь к месту загруженного файла.
Например:

<script type="text/javascript" src="/scripts/jquery.min.js"></script>

 

На некоторых платформах изначально подключена jQury-библиотека и дополнительно этого делать не нужно. В код шаблона строка подключения добавляется, обычно, до закрывающего тега </head> желательно разместить ее, что называется, в первых рядах.
В Blogger можно разместить в шаблоне перед строчкой:

<b:skin><![CDATA[

 

И на этом в общем-то все :) Все что нужно по оформлению, положению - прописывается в CSS, скрипт выполняет, как и положено, организационную функцию. Проще не куда.


vk.com/club.ssdru

Подписывайтесь на нашу группу в контакте vk.com/club.ssdru


Статьи по темеjQuery

05 04.2013
Простой плавающий блок на jQuery

На серьезных проектах можно встретить упорядоченные списки с информацией, благодаря которым информация красиво организована, тем самым выделана и радует взор пользователей. В данном уроке мы рассмотрим как создать красиво упорядоченные списки с помощью css. Задание стилей для упорядоченных списков всегда являлось достаточно трудной задачей. Для использования своих стилей надо удалить стили браузера по умолчанию и добавить указатели на элементы списка, чтобы использовать нужные наборы правил.


25 03.2013
Простой плавающий блок на jQuery

В этом учебнике по HTML 5 и CSS 3 расскрываются стандарты нового  поколения разработки веб приложений на простых и работающих примерах. В наше время основные браузеры и мобильные устройства поддерживают спецификации HTML 5 и CSS 3. Эти новейшие технологии это основа последующего поколения интернет-разработок. Преимущества технологий нового поколения явны: удобство и комфорт для пользователя, для программиста - простота и удобства.


04 04.2013
Простой плавающий блок на jQuery

К данному решению пришел не сразу, способ реализации был третьим по счёту, как мне кажется, вполне достойным внимания. Основная фишка в том, что для реализации вообще не используется JavaScript.

Внимание! Метод не работает в IE8 и ниже, в нашем проекте решили не ориентироваться на эти браузеры, по крайней мере на этапе Бета.

17 03.2013
Простой плавающий блок на jQuery

Здесь можно бесплатно воспользоваться готовыми примерами блочной css верстки слоями. Каждый шаблон ниже содержит готовую резиновую и не резиновую верстку в две или три колонки с различным расположением. Во всех верстках css footer прижат к низу. Каждая div, блочная, дивная верстка валидна и проверена на кроссбраузерность.


105 Публикаций

Раскрутка в соцсетях

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


Перейти в Блог

О КОМПАНИИ

Studio Design существует с 2001 года. Основной нашей деятельностью до 2007 года было видеопроизводство ( видеореклама и документальные фильмы, о чем подробно описано в нашем блоге ). С 2007 года, вот уже как лет, наша основная специфика - это создание сайтов для бизнеса или частной деятельности, веб дизайн, а также поддержка и администрирование готовых проектов. Каждая выполненная нами работа - это уникальный, а самое главное, адаптивный под все современные мобильные устройства дизайн сайта. Мы готовы создать сайт с нуля для каждого клиента с любого уголка России! Мы поможем Вам в создании, как одностраничных сайтов – визиток, так и крупных интернет магазинов или корпоративных сайтов. А все наши работы, большинство из которых действуют и по сей день!

Close

Целовальников Сергей


Веб-дизайн, HTML5, CSS3, jQuery, JavaScript, Верстка.

Верстальщик с большим опытом работы. Занимаюсь созданием сайтов с 2005 года. Постоянно обучаюсь и совершенствую свои навыки. Веду свои проекты, в том числе и данный блог.

Close