Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2013, 20:38
Интересующийся
Отправить личное сообщение для november Посмотреть профиль Найти все сообщения от november
 
Регистрация: 01.08.2013
Сообщений: 23

После события появляется элемент и остается
Доброго времени суток. При нажатии на "кнопку" появляется div. Это у меня работает. Как сделать так, чтобы этот div оставался и дальше на сайте при переходе на другие страницы. И только после нажатия другой кнопки на другой странице он исчезал?
<script>
var show;

function look(type)
{
param=document.getElementById(type);
if(param.style.display == "none")
{
if(show) show.style.display = "none";
param.style.display = "block";
show = param;
}
else param.style.display == "none";
}
</script>


Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2013, 00:35
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от november
При нажатии на "кнопку" появляется div. Это у меня работает. Как сделать так, чтобы этот div оставался и дальше на сайте при переходе на другие страницы. И только после нажатия другой кнопки на другой странице он исчезал?
он должен быть на других страницах, его состояние должно быть сохранено
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2013, 01:14
Интересующийся
Отправить личное сообщение для november Посмотреть профиль Найти все сообщения от november
 
Регистрация: 01.08.2013
Сообщений: 23

Угу. Должно быть Вот только я не пойму как.
По нажатию всплывает этот div. Так же по нажатию этой кнопки идет запись куков под именем name.
После нажатия Другой кнопки на другой странице эти куки удаляются.

Это похоже на заказ on-line. Когда вы что-то добавляет в корзину - появляется скрытая до этого надпись, например, "Ваш заказ". И пока пользователь лазает по другим страницам сайта, эта надпись висит. Но когда заказ "состоялся" - надпись пропадает - куки удаляются.

Насколько я понимаю, это делается с помощью куков? Причем имя этих куков я знаю, а вот их value постоянно меняется (но это не имеет значения для задачи). Но вот такая комбинация не работает у меня :
<?php
if (isset($_COOKIE["user"]))
  echo "Ваш заказ";
else
  echo "А если нет, ничего не показывать";
?>
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2013, 02:20
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

november,
можно через localstorage, простой пример
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>

    <div id='add-div'>Добавить</div>
    <div id='remove-div'>Удалить</div>
    <div id='container'> </div>
    
    <script>

 
    (function () {
      
       var div, 
           body = document.body;
      
      
      check();
      
      body.onclick = function (e) {
      
       
        if(e.target.id == 'add-div')
           add();
        
        if(e.target.id == 'remove-div')
           remove();
      
      
      
      }
      
      function add() {
        
        
        
        if(div)
           return;
       
        
        localStorage.setItem('show-state', true);
        
        div = document.createElement('div');
        
        div.innerHTML = 'О, чудо я видимый:)';
        
        
        body.appendChild(div);
      
      
      }
      
      
      
      
      function remove() {
        
        localStorage.removeItem('show-state');
        
        body.removeChild(div);
        
      
      }
      
      
      
      function check() {
       
        if(localStorage.getItem('show-state')){
         
          add();
        
        }
      
      
      }
      
      
      }());   
      


    </script>

  </body>
</html>

так же данные о состояние можно хранить в БД или куках , или сделать переходы между страниц через ajax (не самый надежный вариант)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2013, 18:26
Интересующийся
Отправить личное сообщение для november Посмотреть профиль Найти все сообщения от november
 
Регистрация: 01.08.2013
Сообщений: 23

Спасибо за ответ. Но у меня что-то не работает он
Скрипт ведь можно ставить в head?
Нужно подключать дополнительные библиотеки?
if (Modernizr.localstorage) {
  // window.localStorage is available!
} else {
  // нет встроенной поддержки HTML5-хранилища
}


Я делаю так. Ставлю скрипт в head. В нужно мне месте делаю так:
<div id='add-div'><a href="#" onClick="doAdd(^[$id]);  return false;;">&#10004;Галочка</a></div>

И ничего не происходит...Вообще.
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2013, 18:44
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

november,
эм , если использовать domcontentloaded или его аналог в jquery ready, или любое подобное событие в другой бибилеотеки/фреймворке, иначе не будет работать, по тому что когда загружается head, body еще нет.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2013, 19:35
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

если это действие на время сессии, то удобнее хранить на сервере в сессии, либо передавать в параметре или работать с хешем, в крайнем случае, хранить в куках или на складах
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли поставить обработчик события "click" на элемент option? Dimaz jQuery 5 05.05.2013 13:39
Google Chrome переставляет элементы после события onload w1cked Events/DOM/Window 2 25.12.2012 07:34
Выполнение проверки после наступления события juggalo Events/DOM/Window 6 06.10.2012 01:37
Обработка события после закрытия модального окна byaka Events/DOM/Window 3 11.08.2012 19:19
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11