Как сделать кнопку «наверх» без плагина?
Уже довольно продолжительное время на различный блогах и сайтах я наблюдаю интересную и полезную штуковину, которая располагается в нижней правой части экрана. И эта штуковина называется – "кнопка наверх для страницы сайта«.
Кнопка „наверх“ страницы – это кнопка, основное функциональное назначение которой, это быстрое перемещение читателя, при нажатии на нее, из нижней части страницы (подвала) в начальную (шапку). Она плавно прокручивает страницу сайта наверх, что очень удобно.
Естественно, я написал эту статью не для того, чтобы рассказать о этом чуде и всех ее прелестях, а для того чтобы научить вас тому, как сделать кнопку наверх на сайта или WordPress блоге различными способами.
Как сделать кнопку наверх для сайта
Для того, что разместить ее у себя на ресурсе, не обязательно устанавливать различные плагины и тем самым мучить блог уменьшая его скорость и производительность. Вашему вниманию я представлю 5 способов того, как сделать и установить кнопку „наверх“ для страниц без плагина. Если у вас возникнут вопросы, замечания или рекомендации, то прошу оставлять их через форму комментариев. А теперь, давайте перейдем непосредственно к изучению этой темы.
Скрипт кнопки „вверх“ без плагина
Скрипт, который приведен ниже необходимо разместить в файле function.php и больше никаких действий производить не нужно. В данном скрипте расписаны самые необходимые функции.
function sp_scroll_to_top (){
$speed = 800; // скорость прокрутки страницы
$at = 350; // сколько промотать вниз чтобы кнопка появилась
$image = get_bloginfo ('template_url').'/images/up.png'; // адрес картинки для прокрутки, если переменная пустая
$colorFont = '#999999'; // цвет шрифта надписи Наверх, необходима когда картинка не установлена
$hAlign = 'left'; // горизонтальное место расположения стрелки (left, right)
$vAlign = 'bottom'; // вертикальное выравнивание (bottom, top)
$color = '#373737'; // цвет фона при наведении
$width = '10'; // ширина активизирующейся зоны в процентах от ширины экрана
$margin = 5; // количество пикселей для отступа от верха/низа экрана до картинки (надписи)
$visible = true; // показать или скрыть активирующуюся зону (true, false)
$widthContent = 1000; // ширина контента в px
echo '
#topcontrol:hover {
background:'.$color.';
}
var scrolltotop={
setting: {startline:'.$at.', scrollto: 0, scrollduration:'.$speed.', fadeduration:[500, 100]},
controlHTML: «'.($image?'
$hAlign.': 0;margin:'.$margin.'px 10px;\" />':'
': 0;'.$hAlign.': 0;margin:'.$margin.'px 10px;font-size: 16px;color: '.$colorFont.';\">▲ Наверх').'
anchorkeyword: «#top»,
state: {isvisible:false, shouldvisible:false},
scrollup:function (){
if (!this.cssfixedsupport) {
this.control.css ({opacity:0}) //hide control immediately after clicking it
}
var dest=isNaN (this.setting.scrollto)? this.setting.scrollto : parseInt (this.setting.scrollto)
if (typeof dest=="string" && jQuery («#»+dest).length==1)
dest=jQuery («#»+dest).offset ().top
else
dest=0
this.body.animate ({scrollTop: dest}, this.setting.scrollduration);
},
keepfixed:function (){
var window=jQuery (window)
var controlx=window.scrollLeft () + window.width () — this.control.width ();
var controly=window.scrollTop () + window.height () — this.control.height ();
this.control.css ({left:controlx+"px", top:controly+"px"})
},
togglecontrol:function (){
var scrolltop=jQuery (window).scrollTop ()
if (!this.cssfixedsupport)
this.keepfixed ()
this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false
if (this.state.shouldvisible && !this.state.isvisible){
this.control.stop ().animate ({opacity:1}, this.setting.fadeduration[0]).css («visibility», «visible»)
this.state.isvisible=true
}
else if (this.state.shouldvisible==false && this.state.isvisible){
this.control.stop ().animate ({opacity:0}, this.setting.fadeduration[1], function (){
$(this).css («visibility», «hidden»)
})
this.state.isvisible=false
}
},
init:function (){
jQuery (document).ready (function ($){
var mainobj=scrolltotop
var iebrws=document.all
mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest
mainobj.body=(window.opera)? (document.compatMode=="CSS1Compat"? $(«html») : $(«body»)) : $(«html,body»);'.
((!$visible)?
'mainobj.control=$(mainobj.controlHTML);'
:
'if ($(document).width () — (($(document).width () * ('.$width.'/ 100)) * 2) > '.$widthContent.') mainobj.control=$(«
else mainobj.control=$(mainobj.controlHTML);'
)
.'mainobj.control
.css ({position:mainobj.cssfixedsupport? «fixed» : «absolute», bottom:0, '.$hAlign.':0, opacity:0, cursor:"pointer"})
.attr ({title:"Наверх"})
.click (function (){mainobj.scrollup (); return false})
.appendTo («body»)
if (document.all && !window.XMLHttpRequest && mainobj.control.text ()!="")
mainobj.control.css ({width:mainobj.control.width ()})
mainobj.togglecontrol ()
$("a[href=\"" + mainobj.anchorkeyword +"\"]«).click (function (){
mainobj.scrollup ()
return false
})
$(window).bind („scroll resize“, function (e){
mainobj.togglecontrol ()
})
})
}
}
scrolltotop.init ()
';
}
add_action ('wp_head', 'sp_scroll_to_top');
Как сделать кнопку наверх без плагинов
Все что нам необходимо будет сделать, так это прописать специальный скрипт и добавить файл стилей style.css, а так же определиться с расположением и внешним видом подходящим под шаблон. Как написать данный скрипт кнопки „наверх“ я вас учить не буду. Предложу я вам готовый код, в которые необходимо внести некоторые изменения. Скачайте архив, в котором вы найдете три файла. Первый – скрипт кнопки наверх dis.js, второй – картинка стрелки в формате gif, третий – вспомогательные коды.
Первый файл закачайте в корневую папку блога:
public_html/
Картинку закиньте в папку images.
public_html/images
Можете проверять работоспособность.
А теперь, для того чтобы на сайте кнопка наверх плавно появлялась и исчезала, необходимо приметить коды расположенные в третьем файле.
Первый код разместите в любом месте файла functions.php:
// smart jquery inclusion
if (!is_admin ()) {
wp_deregister_script ('jquery');
wp_register_script ('jquery', („http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js“), false);
wp_enqueue_script ('jquery');
}
Далее скопируйте второй код в файле и вставьте его в footer.php (подвал) перед тегом. Вот он:
Теперь, для того чтобы все выглядело красиво. Необходимо в style.css прописать следующий код, который так же располагается в третьем файле архива.
width: 99px;
border: 0px solid #cccccc;
text-align: center;
padding: 4px;
position: fixed;
bottom: 10px;
right: 10px;
cursor: pointer;
color: #666666;
text-decoration: none;}
После всех этих операций, кнопка наверх должна появится на странице. Если возникнут вопросы, обращайтесь через форму комментариев.
Не забудьте исправить адреса к картинкам и функциям на свои адреса
Изображение стрелки. Можно изменить на любое понравившееся вам или подходящее под тематику блога. Главное не забывайте что картинка должна быть оптимизированной и уникальной.
Как сделать кнопку наверх для сайта с Scroll to Top Plugin
Мало кто из нас не боится копаться в коде шаблона и мало кто вообще хочет лезть в код и менять его, так как просто не понимает что и как там делается. Специально для таких людей был разработан специальный плагин “Scroll to Top Plugin”, который в автоматическом режиме выводит кнопку “наверх” страницы в правом нижнем углу экрана, что позволяет пользователям плавно прокручивать лист. Его остается только скачать и установить стандартным способом. В помощь вам, уважаемые читатели, видео об установке и настройке плагина Scroll to Top Plugin:
Способ №4
Ну а если, совсем лень или ваш шаблон не принимает ни один из выше перечисленных способов установки кнопки наверх на сайте, то советую вам использовать кнопки на клавиатуре – “Page Up” и ”Page Down”.
Способ №5
Завершающим способом установки кнопки наверх для сайта является установка специального плагина для браузера Google Chrome —
Надеюсь, получилась познавательная статья. А чтобы не пропустить выход новых более интересных и познавательных постов, советую
С уважением, Дороднов Иван!
Навигация
Предыдущая статья: ← Карта сайта WordPress без плагинов
Следующая статья: Система Orphus — выявление ошибок на сайте! →
Спасибо за статью. Способ № 4, улыбнул.
Что-то у Вас на сайте нет кнопки «Наверх»
Только, что хотел посмотреть начало, — и 4-й способ не помог.
Пойду читать Как отключить обновление плагинов
Может там что найду...
Способ №4. Дело в том, что на клавиатуре 2 пары кнопок «Page up и Page down», одна из которых не работает.
Сам вместо кнопки «Наверх» использую исключительно Способ №5. Этому есть много причин. Скрипт приведенный в статье работает на 100%
Убирать и разбираться в том, что могли сделать не так.
У меня следующая ситуация, на главной странице всё работает отлично, но вот на странице и в записи кнопка постоянно мигает, не прекращая, не важно в каком положении находится страничка.
Добрый день, Петр. Какой именно способ вы использовали для того, чтобы сделать кнопку «наверх»?
спасибо, за такое большое количество способов того, как сделать кнопку наверх. Четвертый понравился, пятый попробовал, ну а второй установил.
Очень рад, Аркадий, что мой урок пришелся вам кстати.
Шорт его знает почему, но как только вставляю первый код в functions.php, блог накрывается медным тазом.
И еще — не, style.php а style.css
Спасибо, опечатку исправлю. Скорее всего вы вставляете код в цикл, измените го место положение.