🧙Конкурс сказок!
Помощь по вашим сайтам и т.д. и т.п.
(OFF) MrEpic 29 июл 2019

Помогите с яваскриптом

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

Комментарии (11)

Ну узнавай
Ля, помог, спс
Я просто забыл это да и то если я понял в чём вопрос да и то-не совсем то.Помню на одном с официальных сайтов Зеленского был какой-то виджет-типа ставишь скрипт на свой сайт и,когда листаешь на смартфоне тот сайт с виджетом,то там кнопка всё равно всегда была внизу-ну потом на неё нажимаешь и на сайт Зеленского попадал ну или вроде того-я то убрал и на сайте Зеленского оно пропало-ну или я не нашёл уже
<div class="call_back"><a href="#">Ваш номер телефона</a>
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; /*рамка вокруг кнопки*/
}
Вот что получилось!
По его условию изначально кнопка в шапке должна быть
Вот накидал ,суть в том что если кнопка находиться в зоне видимости у нее одни стили, а если нет то соответственно другие :) Ну вроде все закомментил.


<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>
Ну вместо кнопки можешь кто хочешь прикрутить главное чтоб class'ы и id такие жебыли
Вот норм
<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>
Показать комментарий
Скрыть комментарий
Назад 1 из 2 Вперёд
12
Для добавления комментариев необходимо авторизоваться
Помощь по вашим сайтам и т.д. и т.п.
Легенды Крови
Удивительный мир фантазий, сражений и тайн... Битв
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play