Автор

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

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

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


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

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


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

Я уже публиковал урок «Нестандартные Checkbox (RadioButton) без использования JavaScript». Прекрасные кнопочки, но там используются картинки!!! В данном примере используется только CSS. Всё очень просто вы вставляете код в свой стиль и получаете стильные, а именно на мой взгляд, в современном стиле кнопки.


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

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


105 Публикаций

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

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


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

О КОМПАНИИ

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

Close

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


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

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

Close