Html плавающая кнопка звонка

Кнопка обратного звонка — анимация css плюс JS

Статья — ответ на вопросы в комментариях (письмах). Поступают вопросы о том, как установить анимированную кнопку обратного звонка на своём сайте: то есть требуется бегающая по экрану анимированная кнопка, например, картинка телефонной трубки, нажав на которую, всплывает модальное окно с формами связи, или же пользователя перебрасывает на некую целевую страницу сайта. В самом деле подобную анимированную кнопку обратного звонка возможно приспособить на что угодно: у меня, например, услуги Скайп — но возможно использовать по типу кнопки «наверх», либо поместить в её обработку какую-то полезную информацию для пользователя… Да мало ли у нас фантазии… Установить кнопку обратного звонка, дело в принципе не очень сложное! Сегодня установим кнопку обратного звонка в следующем принципе: анимация (пульсация с перемещением по окну монитора) — css плюс JS:

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

В комментариях к кодам даны кое-какие пояснения, так что…

скрипт плавающей кнопки обратного звонка — css плюс JS

Начнём прикрутку кнопки обратного звонка с создания простенького js файла.

Читайте также:  Python from unicode to string

пройдём по такому пути: (в шаблонах пути подключения js файлов могут отличаться) — ничего страшного, главное принцип.

…если в корне вашей темы нет папки JS, в которой хранятся файлы сценариев… создайте её с именем js .

Далее… в папке js создаём файл с именем, к примеру, skypeats.js

…в этот файл помещаем такой чудный код JS:

$(document).ready(function()< $(".skype_skypeats.jump").css(); // 0.41, 0.01, 0.57, 1.01 - это более плавно двигается картинка = отступ от правого края экрана "right":"50px" = top .9s подпрыгивание значка skyForm_Return_Button (); $(window).scroll(function()< skyForm_Return_Button(); >); $(window).resize(function()< skyForm_Return_Button(); >); function skyForm_Return_Button ()< var r=getPageSize();docW=r[0];docH=r[1];winW=r[2];winH=r[3]; var y=$(window).scrollTop(); y=y+winH-72;// от -155 ОТСТУП ОТ НИЗА $(".skype_skypeats.jump").css(); > //определение высоты и ширины документа, а также высоты и ширины окна браузера function getPageSize() < var xScroll, yScroll; // старт if (window.innerHeight && window.scrollMaxY) < xScroll = document.body.scrollWidth; yScroll = window.innerHeight + window.scrollMaxY; >else if (document.body.scrollHeight > document.body.offsetHeight) < // все, кроме Explorer Mac xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; >else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight) < // Explorer 6 strict mode xScroll = document.documentElement.scrollWidth; yScroll = document.documentElement.scrollHeight; >else < // Explorer Mac. также работал бы в Mozilla и Safari xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; >// Explorer var windowWidth, windowHeight; if (self.innerHeight) < // все, кроме Explorer windowWidth = self.innerWidth; windowHeight = self.innerHeight; >else if (document.documentElement && document.documentElement.clientHeight) < // Explorer 6 Strict Mode windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; >else if (document.body) < // другие версии Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; >// for small pages with total height less then height of the viewport = для небольших страниц с общей высотой, меньшей высоты окна просмотра if(yScroll < windowHeight)< pageHeight = windowHeight; >else < pageHeight = yScroll; >// for small pages with total width less then width of the viewport = для небольших страниц, общая ширина которых меньше ширины окна просмотра if(xScroll < windowWidth)< pageWidth = windowWidth; >else < pageWidth = xScroll; >return [pageWidth,pageHeight,windowWidth,windowHeight]; > >);

В верхних строках кода (и в некоторых последующих) даны пояснения к значениям.

…также в первых строчках задаём некоторые дизайнерские значения кнопки (внешний вид и поведение иконки обр. звонка).

подключим js скрипт плавающей кнопки обратного звонка

подключим js скрипт обработчик плавающей кнопки обратного звонка

Предположительно что у вас в файлах сайта уже подключена библиотека jquery :

или так: это локальный вариант (т.е. если файл библиотеки загружен в корень темы, например)

…либо этот вариант подключения библиотеки с серверов Google:

…если jquery не подключена — подключите (как? описано по ссылке ниже)

Следующим шагом — 2 — будем подключать в подвале (в файле footer.php ) файл скрипта, который создали: (вот статья, которая повествует о наиболее целесообразных подключениях файлов).

 

обратите внимание: подключение файла скрипта кнопки звонка на сайт обусловлено document.body.clientWidth>940 — это для того, чтобы скрипт отключался на маленьком экране, например, телефона с расширением менее 940px .

В пути подключения пропишите имя своей темы.

…чуть ниже строки подключения скрипта js, добавим (элемент разметки для пульсирующей кнопки обратного звонка) HTML обработку выводимой на экран кнопки — всё это также располагаем в подвале footer.php где-то перед закрывающим тегом : (html значка возможно разместить и в шапке сайта header.php — всё в зависимости от желания расположения кнопки).

В нашем примере, клик по кнопке будет отправлять пользователя на требуемую страницу…

Соответственно в href — задаём нужную ссылку…

Примеры модальных окон, где будут размещены какие-то данные, разберём в следующих статьях.

организуем стили CSS кнопки обратного звонка

Зададим обработку внешнего вида кнопки обратного звонка: анимацию — пульсирующий эффект, цвет, расположение… видимость кнопки.

Всего-то поместите эти селекторы куда-то к себе в файл стилей style.css … (а при желании немного подредактируйте).

.skype_skypeats .skype_shadow // убираем с экрана иконку, если скрипт js не подключен (телеф.) .skype_skypeats .skype_shadow2 .skype_skypeats .skype_fone,.skype_skypeats .skype_fone2 .skype_skypeats .skype_skypeats:hover .skype_skypeats .skype_fone .skype_skypeats .skype_fone2 .skype_skypeats .skype_fone span .skype_skypeats .skype_fone2 span .skype_skypeats .skype_fone:hover,.skype_skypeats .skype_fone2:hover .skype_skypeats .skype_fone span a,.skype_skypeats .skype_fone2 span a .skype_skypeats .skype_fone:hover a,.skype_skypeats .skype_fone2:hover a .skype_skypeats .skype_shadow,.skype_skypeats .skype_shadow2@keyframes pulse5%10%15%20%25%30%59%60%65%70%75%80%85%90%100%>@keyframes shadow100%> .skype_skypeats .skype_fone,.skype_skypeats .skype_fone2 .skype_fone .tooltip,.skype_fone2 .tooltip .skype_fone2 .tooltip .skype_skypeats .skype_fone .tooltip .skype_fone2 .tooltip.right

В строке селектора укажите путь до картинки обратного звонка или ещё чего-то…

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

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

убираем кнопку обратного звонка на малых разрешениях экранов

…после кода css, который дан выше, поместите такую строку CSS @media …

@media only screen and (max-width:940px)>

это строка также служит для того, чтобы при отключенном скрипте JS (шаг — 2) убрать на экране с расширением менее 940px отображение значка кнопки обратного звонка — иначе иконка будет некрасиво болтаться без анимации .

940 — меняйте на требуемое вам значение.

Файл js сценария возможно переименовать на своё усмотрение (понятности для) — в этом случае не забудьте изменить имена селекторов css…

Всплывающая подсказка со значком «?» (как у меня на сайте) выполнена путём соединения пары скриптов в обработке JS, но об этом в следующих статьях…

Подписывайтесь на обновления блога…

подписка feedburner

Online консультация по настройкам и созданию сайтов на WordPress

Если что-то неясно — пишите, поясню…

Связка Contact Form 7 с плагином CF7 Google Sheet Connecto (отправим данные из формы связи в таблицы Google)


Михаил ATs — владелец блога запросто с Вордпресс — в сети нтернет давным-давно.

. веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети. — заказы, вопросы. разработка.

Источник

Обратный звонок для сайта

Всплывающее окно обратного звонка на html + css, без jQuery и Mootools

Зачастую бывает, что нет возможности использовать библиотеки jQuery или Mootools из за их несовместимости. При этом хочется, чтобы на сайте была всплывающая форма обратного звонка. Это вполне выполнимо по средствам HTML и CSS.

При необходимости форму можно дополнить полями, и придать любой дизайн по средствам CSS.

/* Контейнер */ .modal < /* Слой перекрытия */ position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 10000; /* Трансформации прозрачности при открытии */ -webkit-transition: opacity 500ms ease-in; -moz-transition: opacity 500ms ease-in; transition: opacity 500ms ease-in; /* Скрываем изначально */ opacity: 0; pointer-events: none; >/* Показываем модальное окно */ .modal:target < opacity: 1; pointer-events: auto; >/* Содержание */ .modal > div < width: 300px; background: #ffffff; position: relative; margin: 10% auto; /* По умолчанию минимизируем анимацию */ -webkit-animation: minimise 500ms linear; /* Придаем хороший вид */ padding: 30px; -moz-border-radius: 7px; border-radius: 7px; -webkit-box-shadow: 0 3px 20px rgba(0,0,0,0.9); -moz-box-shadow: 0 3px 20px rgba(0,0,0,0.9); box-shadow: 0 3px 20px rgba(0,0,0,0.9); text-shadow: 0 1px 0 #fff; >/* Изменяем анимацию при открытии модального окна*/ .modal:target > div < -webkit-animation-name: bounce; >.modal h2 < font-size: 36px; padding: 0 0 20px; >@-webkit-keyframes bounce < 0% < -webkit-transform: scale3d(0.1,0.1,1); -webkit-box-shadow: 0 3px 20px rgba(0,0,0,0.9); >55% < -webkit-transform: scale3d(1.08,1.08,1); -webkit-box-shadow: 0 10px 20px rgba(0,0,0,0); >75% < -webkit-transform: scale3d(0.95,0.95,1); -webkit-box-shadow: 0 0 20px rgba(0,0,0,0.9); >100% < -webkit-transform: scale3d(1,1,1); -webkit-box-shadow: 0 3px 20px rgba(0,0,0,0.9); >> @-webkit-keyframes minimise < 0% < -webkit-transform: scale3d(1,1,1); >100% < -webkit-transform: scale3d(0.1,0.1,1); >> /* Ссылка на кнопку Закрыть */ .modal a[href=»#close»] < position: absolute; right: 0; top: 0; color: transparent; >/* Сбрасываем изменения */ .modal a[href=»#close»]:focus < outline: none; >/* Создаем кнопку Закрыть */ .modal a[href=»#close»]:after < content: 'X'; display: block; /* Позиционируем */ position: absolute; right: -10px; top: -10px; width: 20px; padding: 1px 1px 1px 2px; /* Стили */ text-decoration: none; text-shadow: none; text-align: center; font-weight: bold; background: #000; color: #ffffff; border: 3px solid #ffffff; -moz-border-radius: 20px; border-radius: 20px; -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5); -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5); box-shadow: 0 1px 3px rgba(0,0,0,0.5); >.modal a[href=»#close»]:focus:after, .modal a[href=»#close»]:hover:after < -webkit-transform: scale(1.1,1.1); -moz-transform: scale(1.1,1.1); >.modal a[href=»#close»]:focus:after < outline: 0px solid #000; >/* Открываем модальное окно */ a.openModal < >a.openModal:hover, a.openModal:focus < >.modal .modal_title

Источник

Круглая кнопка (обратного звонка) CSS с анимацией

Коммерция, коммерция и еще раз коммерция! Именно это направление сегодня активно набирает обороты в сайтостроении. И для сайтов такой тематики (впрочем, как и для всех остальных) важную роль играет юзабилити. Чтобы на сайте все было удобно, доступно и понятно любому пользователю. Одним из элементов этой концепции является кнопка «Заказ обратного звонка».

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

Заказ обратного звонка

Для примера создадим две кнопки с разной анимацией. В качестве иконок используем всем известный шрифт Font Awesome.

Кнопка заказа звонка

/*кнопка звонка*/ .callback-bt < background: #38a3fd; border-radius: 50%; box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3); cursor: pointer; border: 2px solid transparent; display: block; height: 75px; width: 75px; text-align: center; position: fixed; right: 8%; bottom: 18%; z-index: 999; transition: .3s ease-in-out; -webkit-animation: hoverWave linear 1s infinite; animation: hoverWave linear 1s infinite; >.callback-bt:hover < background: #fff; border: 2px solid #38a3fd; >.callback-bt .text-call < height: 75px; width: 75px; border-radius: 50%; position: relative; >.callback-bt .text-call:after < content: "\f095"; display: block; font-family: fontawesome; color: #fff; font-size: 38px; line-height: 75px; height: 75px; width: 75px; opacity: 1; transition: .3s ease-in-out; animation: 1200ms ease 0s normal none 1 running shake; animation-iteration-count: infinite; >.callback-bt .text-call:hover:after < opacity: 0; >.callback-bt .text-call span < color: #38a3fd; display: block; left: 50%; top: 50%; position: absolute; transform: translate(-50%, -50%); opacity: 0; font-size: 11px; line-height: 12px; font-weight: 600; text-transform: uppercase; transition: .3s ease-in-out; font-family: 'montserrat', Arial, Helvetica, sans-serif; >.callback-bt .text-call:hover span < opacity: 1; >@keyframes hoverWave < 0% < box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 0 rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2) >40% < box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 15px rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2) >80% < box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 26.7px rgba(56, 163, 253, 0.067) >100% < box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 40px rgba(56, 163, 253, 0.0) >> /* animations icon */ @keyframes shake < 0% < transform: rotateZ(0deg); -ms-transform: rotateZ(0deg); -webkit-transform: rotateZ(0deg); >10% < transform: rotateZ(-30deg); -ms-transform: rotateZ(-30deg); -webkit-transform: rotateZ(-30deg); >20% < transform: rotateZ(15deg); -ms-transform: rotateZ(15deg); -webkit-transform: rotateZ(15deg); >30% < transform: rotateZ(-10deg); -ms-transform: rotateZ(-10deg); -webkit-transform: rotateZ(-10deg); >40% < transform: rotateZ(7.5deg); -ms-transform: rotateZ(7.5deg); -webkit-transform: rotateZ(7.5deg); >50% < transform: rotateZ(-6deg); -ms-transform: rotateZ(-6deg); -webkit-transform: rotateZ(-6deg); >60% < transform: rotateZ(5deg); -ms-transform: rotateZ(5deg); -webkit-transform: rotateZ(5deg); >70% < transform: rotateZ(-4.28571deg); -ms-transform: rotateZ(-4.28571deg); -webkit-transform: rotateZ(-4.28571deg); >80% < transform: rotateZ(3.75deg); -ms-transform: rotateZ(3.75deg); -webkit-transform: rotateZ(3.75deg); >90% < transform: rotateZ(-3.33333deg); -ms-transform: rotateZ(-3.33333deg); -webkit-transform: rotateZ(-3.33333deg); >100% < transform: rotateZ(0deg); -ms-transform: rotateZ(0deg); -webkit-transform: rotateZ(0deg); >> /* конец кнопки звонка */

Кнопка обратной связи

/*кнопка обратной связи*/ .email-bt < background: #F95C18; border-radius: 50%; box-shadow: 0 8px 10px rgba(249, 92, 24, 0.3); cursor: pointer; border: 2px solid transparent; display: block; height: 75px; width: 75px; text-align: center; position: fixed; left: 8%; bottom: 18%; z-index: 999; transition: .3s ease-in-out; -webkit-animation: email-an linear 1s infinite; animation: email-an linear 1s infinite; >.email-bt:hover < background: #fff; border: 2px solid #F95C18; >.email-bt .text-call < height: 75px; width: 75px; border-radius: 50%; position: relative; >.email-bt .text-call:after < content: "\f0e0"; display: block; font-family: fontawesome; color: #fff; font-size: 34px; line-height: 75px; height: 75px; width: 75px; opacity: 1; transition: .3s ease-in-out; -webkit-animation: opsimple 3s infinite; animation: opsimple 3s infinite; >.email-bt .text-call:hover:after < opacity: 0; >.email-bt .text-call span < color: #F95C18; display: block; left: 50%; top: 50%; position: absolute; transform: translate(-50%, -50%); z-index: 1; opacity: 0; font-size: 11px; line-height: 12px; font-weight: 600; text-transform: uppercase; transition: .3s ease-in-out; font-family: 'montserrat', Arial, Helvetica, sans-serif; >.email-bt .text-call:hover span < opacity: 1; >@keyframes email-an < 0% < box-shadow: 0 8px 10px rgba(249, 92, 24, 0.3), 0 0 0 0 rgba(249, 92, 24, 0.2), 0 0 0 0 rgba(249, 92, 24, 0.2) >40% < box-shadow: 0 8px 10px rgba(249, 92, 24, 0.3), 0 0 0 15px rgba(249, 92, 24, 0.2), 0 0 0 0 rgba(249, 92, 24, 0.2) >80% < box-shadow: 0 8px 10px rgba(249, 92, 24, 0.3), 0 0 0 30px rgba(249, 92, 24, 0), 0 0 0 26.7px rgba(249, 92, 24, 0.067) >100% < box-shadow: 0 8px 10px rgba(249, 92, 24, 0.3), 0 0 0 30px rgba(249, 92, 24, 0), 0 0 0 40px rgba(249, 92, 24, 0.0) >> @keyframes opsimple < 0% < opacity: 0; transform: rotate(0deg); >40% < opacity: 1; >80% < opacity: 1; >100% < opacity: 0; transform: rotate(360deg); >> /* конец кнопки звязи */

Как видите, все очень просто. Удачной реализации, уважаемый читатель!

Читайте также:

Можете подсказать как сделать кнопку кликабельной что бы при нажатии на кнопку звонка просто начинался звонок

Источник

Код фиксированной (плавающей) кнопки для сайта

Код фиксированной (плавающей) кнопки для сайта

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

1.В стиле шаблона размещаем стиль кнопки:

Где:
width:80px; — ширина картинки.
height:150px; — высота картинки.
right:0; — отступ справа, если вы поменяете данную строчку на left:0; — то кнопка будет располагаться слева, также можно указать отступ в пикселях, например: left:20px;
top:200px; — верхний отступ.
z-index: 99999; — задает расположение элемента поверх всех остальных, например у картинки шапки в теме Twenty Eleven данный параметр имеет значение 9999 и если ваша кнопка будет иметь значение ниже данного параметра, то она будет располагаться под ней.

2. Заходим в файл header.php — для этого входим в панель управления сайтом на wordpress, в левом меню выбираем пункт «Внешний вид» и его подпункт «Редактор», справа в списке шаблонов выбираем файл header.php.

В нем сразу после тега body вставляем вывод нашей кнопки:

(Так выглядит код из примера на картинке, вы должны заменить значения на свои.)

Как видите это код обычной ссылки, только для нее задан особый класс —
class=»add_button» , стиль оформления которого прописан в пункте 1 данной статьи.

Источник

Оцените статью