Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 22.06.2020, 12:10
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

рони,
Логику понял, то есть мгновенного отрабатывание функции еще до загрузки страницы такого нет в js

Просто прежде чем написать думал о том что изначально скрыть и показать если не было принято соглашение, но потом подумал что JS может справится
Ответить с цитированием
  #32 (permalink)  
Старый 22.06.2020, 12:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Сергей Ракипов
еще до загрузки страницы такого нет в js
JS может справится, если использовать классы и скриптом ставить класс на body или html, сразу после их создания. но зачем?
Ответить с цитированием
  #33 (permalink)  
Старый 22.06.2020, 12:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от рони
JS может справится
<!doctype html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
.terms_of_use {
    transform: translateY(0);
    position: fixed;
    height: 70px;
    width: 100%;
    background-color: hsla(40, 100%, 30%, 1);
    transition: .8s;
}
.terms_of_use.yes{
    transform: translateY(-120%);
}


body.hide .terms_of_use{
     display: none;
}


    </style>

  <script>
window.onload = function(){
    const termsOfUse = document.querySelector(".terms_of_use");
    const iAgree = document.querySelector(".i_agree");

    if (!localStorage.getItem("hiden")){
        iAgree.onclick = function() {
        termsOfUse.classList.add("yes");
        localStorage.setItem("hiden", "abrakadabra")
        }
    }
}

</script>

</head>
<body>
<script>
if (localStorage.getItem("hiden")) document.body.classList.add("hide");
</script>
<div class="terms_of_use"><button class="i_agree">принять</button></div>
</body>
</html>
Ответить с цитированием
  #34 (permalink)  
Старый 22.06.2020, 12:46
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

рони,
а что такое abrakadabra я понимаю что это какое то имя но за что оно отвечает,
Ответить с цитированием
  #35 (permalink)  
Старый 22.06.2020, 13:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сергей Ракипов,
тут может быть любое значение(строка) которое в if вернёт true.
метка, что согласие получено.
alert(Boolean("abrakadabra"));
Ответить с цитированием
  #36 (permalink)  
Старый 22.06.2020, 15:06
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от рони Посмотреть сообщение
Сергей Ракипов,
тут может быть любое значение(строка) которое в if вернёт true.
метка, что согласие получено.
alert(Boolean("abrakadabra"));
А если не писать то false
Ответить с цитированием
  #37 (permalink)  
Старый 22.06.2020, 15:26
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

кто такой localStorage
https://developer.mozilla.org/ru/doc...w/localStorage

как записать в storage
https://developer.mozilla.org/ru/doc...torage/setItem

как взять из storage
https://developer.mozilla.org/ru/doc...torage/getItem

и того:

// если нет в хранилище записи с ключем hiden
if (!localStorage.getItem("hiden")){
  // слушатель на кнопку
  iAgree.onclick = function() {
    termsOfUse.classList.add("yes");
    // запишем в хранилище запись с ключем hiden
    localStorage.setItem("hiden", "abrakadabra")
  }
}



// если в хранилище нет записи hiden, да даже если она есть и оно НЕ!! пустое (""), потому оно и abrakadabra, чтобы не было пустым
// выставим класс
if (localStorage.getItem("hiden")) document.body.classList.add("hide");
Ответить с цитированием
  #38 (permalink)  
Старый 22.06.2020, 15:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Наверное все-таки sessionStorage.
Ответить с цитированием
  #39 (permalink)  
Старый 22.06.2020, 15:58
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

SuperZen,
Нравится таки объяснения, спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставлять переменную в span Hovik Общие вопросы Javascript 17 20.12.2018 08:30
узнать индекс кнопки из массива Hovik Общие вопросы Javascript 0 16.12.2018 02:20
Как сделать чтобы кнопка «Назад» работала бы в пределах определенного сайта? Askeer Общие вопросы Javascript 0 12.10.2016 18:58
Не работает кнопка "Наверх" dle 9.3 dunek_ Opera, Safari и др. 1 25.05.2013 18:26
Кнопка с запросом Logo424 Javascript под браузер 12 20.05.2013 19:29