Помощь по вашим сайтам и т.д. и т.п. Помощь по вашим сайтам и т.д. и т.п.
Приветствую всех, особенно заядлых яваскриптеров и яваскриптёров. Возникла необходимость сделать следующую штуку:
В шапке сайта размещается номер телефона, как можно сделать так, чтобы при скроллинге страницы вниз, и скрытии номера телефона в шапке, появлялся новый блок снизу сайта содержащий этот самый номер?
Благодарю за помощь
В шапке сайта размещается номер телефона, как можно сделать так, чтобы при скроллинге страницы вниз, и скрытии номера телефона в шапке, появлялся новый блок снизу сайта содержащий этот самый номер?
Благодарю за помощь
0 2 0
Комментарии (11)
ответила MrEpic
Я просто забыл это да и то если я понял в чём вопрос да и то-не совсем то.Помню на одном с официальных сайтов Зеленского был какой-то виджет-типа ставишь скрипт на свой сайт и,когда листаешь на смартфоне тот сайт с виджетом,то там кнопка всё равно всегда была внизу-ну потом на неё нажимаешь и на сайт Зеленского попадал ну или вроде того-я то убрал и на сайте Зеленского оно пропало-ну или я не нашёл уже
style.css
--------------текст файла таков--------------
.call_back{
position:fixed; /*фиксированная позиция кнопки при прокрутке*/
z-index:999;
right: 0px; /*отступ с права*/
top: 35%; /*отступ сверху*/
margin-right:-50px; /*отрицательный отступ справа (чем длиннее название кнопки тем больше должно быть значение данного отступа )*/
}
/*Стили для ссылки*/
.call_back a{
color:#fff!important; /*цвет ссылки*/
display:block;
background:#DC3522; /*цвет фона кнопки*/
font-size:1.2em; /*размер шрифта*/
text-align:center; /*выравнивание по центру*/
padding:10px 20px; /*внутренние отступы*/
font-weight:bold;/*жирный шрифт*/
border-radius:5px; /*радиус скругления углов*/
border:1px solid #fff; /*рамка вокруг кнопки*/
}
--------------текст файла таков--------------
.call_back{
position:fixed; /*фиксированная позиция кнопки при прокрутке*/
z-index:999;
right: 0px; /*отступ с права*/
top: 35%; /*отступ сверху*/
margin-right:-50px; /*отрицательный отступ справа (чем длиннее название кнопки тем больше должно быть значение данного отступа )*/
}
/*Стили для ссылки*/
.call_back a{
color:#fff!important; /*цвет ссылки*/
display:block;
background:#DC3522; /*цвет фона кнопки*/
font-size:1.2em; /*размер шрифта*/
text-align:center; /*выравнивание по центру*/
padding:10px 20px; /*внутренние отступы*/
font-weight:bold;/*жирный шрифт*/
border-radius:5px; /*радиус скругления углов*/
border:1px solid #fff; /*рамка вокруг кнопки*/
}
Вот накидал ,суть в том что если кнопка находиться в зоне видимости у нее одни стили, а если нет то соответственно другие Ну вроде все закомментил.
<style>
body {
height: 6000px;
}
.vidno{
/*стили для неподвижной кнопки */
width:300px;
height:30px;
}
.ne_vidno{
/* Это стили для той же кнопки но только когда она будт плавать */
position:fixed;
z-index:999;
width:300px;
height:30px;
bottom: 20px;
}
</style>
<div id="target" >
<input type="button" id="button" value="Кнопка" class="vidno" >
</div>
<script>
// Получаем нужный элемент
var element = document.getElementById('target');
var Visible = function (target) {
// позиции элемента
var targetPosition = {
top: window.pageYOffset + target.getBoundingClientRect().top,
bottom: window.pageYOffset + target.getBoundingClientRect().bottom
},
// Получаем позиции окна
windowPosition = {
top: window.pageYOffset,
bottom: window.pageYOffset + document.documentElement.clientHeight
};
if (targetPosition.bottom > windowPosition.top && // Если позиция нижней части элемента больше позиции верхней чайти окна, то элемент виден сверху
targetPosition.top < windowPosition.bottom ) { // Если позиция левой стороны элемента меньше позиции правой чайти окна, то элемент виден справа
// Если элемент полностью видно, то запускаем следующий код
document.getElementById('button').className = 'vidno';
} else {
// Если элемент не видно, то запускаем этот код
document.getElementById('button').className = 'ne_vidno';
};
};
// Запускаем функцию при прокрутке страницы
window.addEventListener('scroll', function() {
Visible (element);
});
// А также запустим функцию сразу. А то вдруг, элемент изначально видно
Visible (element);
</script>
Вот норм
<style>
body {
height: 6000px;
}
.vidno{
/*стили для неподвижной кнопки */
width:300px;
height:30px;
}
.ne_vidno{
/* Это стили для той же кнопки но только когда она будт плавать */
position:fixed;
z-index:999;
width:300px;
height:30px;
bottom: 20px;
}
#phone a{
color:#fff!important;
display:block;
background:#DC3522;
font-size:1.2em;
text-align:center;
padding:10px 20px;
font-weight:bold;
border-radius:5px;
border:10px solid #fff;
}
</style>
<div id="target" >
<div id="phone" class="vidno" ><a href="#">Ваш номер телефона</a></div>
</div>
<script>
// Получаем нужный элемент
var element = document.getElementById('target');
var Visible = function (target) {
// позиции элемента
var targetPosition = {
top: window.pageYOffset + target.getBoundingClientRect().top,
bottom: window.pageYOffset + target.getBoundingClientRect().bottom
},
// Получаем позиции окна
windowPosition = {
top: window.pageYOffset,
bottom: window.pageYOffset + document.documentElement.clientHeight
};
if (targetPosition.bottom > windowPosition.top && // Если позиция нижней части элемента больше позиции верхней чайти окна, то элемент виден сверху
targetPosition.top < windowPosition.bottom ) { // Если позиция левой стороны элемента меньше позиции правой чайти окна, то элемент виден справа
// Если элемент полностью видно, то запускаем следующий код
document.getElementById('phone').className = 'vidno';
} else {
// Если элемент не видно, то запускаем этот код
document.getElementById('phone').className = 'ne_vidno';
};
};
// Запускаем функцию при прокрутке страницы
window.addEventListener('scroll', function() {
Visible (element);
});
// А также запустим функцию сразу. А то вдруг, элемент изначально видно
Visible (element);
</script>
Для добавления комментариев необходимо авторизоваться
Легенды Крови
Удивительный мир фантазий, сражений и тайн... Битв