Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запись информации в кукисы в js
 
 автор: maximum7   (27.10.2009 в 22:31)   письмо автору
 
 

Добрый день.
Хочу сделать на сайте панель инструментов, которую можно будет сворачивать / разворачивать. При этом, если панель свёрнута, то при переходе по страницам сайта она остаётся свёрнутой.



        $(function () {
            var panel = $('#wpdash');
            panel.show();
            
            $('.wclose').click(function () {
                        
            if (panel.is(':hidden')) {
            // скрыто, открываем
                $(this)
                panel.slideToggle('slow').show();
    
             } else {
              // видно, скрываем
                $(this)
                panel.slideToggle('slow').hide();
                }
            });
        });



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

  Ответить  
 
 автор: Саня   (27.10.2009 в 23:16)   письмо автору
 
   для: maximum7   (27.10.2009 в 22:31)
 

Можно

  Ответить  
 
 автор: maximum7   (28.10.2009 в 00:05)   письмо автору
 
   для: Саня   (27.10.2009 в 23:16)
 

Сделал так:


        $(function () {
            var panel = $('#wpdash');
            panel.show();
            
            $('.wclose').click(function () {
                        
            if (panel.is(':hidden')) {
            // скрыто, открваем
                $(this)
                panel.slideToggle('slow').show();
                setCook('slide', 0, 2); 
            } else {
              // видно, скрываем
                $(this)
                panel.slideToggle('slow').hide();
                setCook('slide', 1, 2); 
            }
            
            });
        });

function setCook(name, val, expr) {
    var expires = "";
    if (expr) {
        var d = new Date();
        d.setTime(d.getTime() + expr * 60 * 60 * 1000);
        expires = "; expires=" + d.toGMTString();
    }
    document.cookie = name + "=" + val + expires + "; path=/";



Но, не работает. Панелька после клика на wclose начинает скрываться / открываться безостановочно.

  Ответить  
 
 автор: maximum7   (28.10.2009 в 20:17)   письмо автору
 
   для: maximum7   (28.10.2009 в 00:05)
 

Совсем запутался в указанных топиках.
js:

        $(function () {
            var panel = $('#wpdash');
            panel.show();
            
            $('.wclose').click(function () {        
            if (panel.is(':hidden')) {
            // скрыто, открваем
                $(this)
                panel.slideToggle('slow').show();
                slide = 0;
                setCook('slide', 0, 2); 
            } else {
              // видно, скрываем
                $(this)
                panel.slideToggle('slow').hide();
                slide = 1;
                setCook('slide', 1, 2); 
            }
            });
        });

        $.post('/index.php?ajax=run&do=slid', {}, function(data) { 
            var Data = data; 
                $('#wpdash').html(Data);
        });
        
        
function setCook(name, val, expr) {
    var expires = "";
    if (expr) {
        var d = new Date();
        d.setTime(d.getTime() + expr * 60 * 60 * 1000);
        expires = "; expires=" + d.toGMTString();
    }
    document.cookie = name + "=" + val + expires + "; path=/";



php:

if ($_COOKIE["slide"] != '1') {$style="style='display:none; overflow:hidden; height:1px;'";}
        echo "<div id='wpdash' ".$style.">";

        echo '
<div class="welcom">Добро пожаловать!</div>

<div class="exit"><a href="/login/exit/">Выйти</a>?</div>
';

        echo "</div>";

        
        echo "<div class='wclose'><img src='close.gif'></div>";


При первом открытии страницы всё нормально. нажимаем свернуть. обновляем страницу. Панель свёрнута. Нажимаем развернуть и обновляем страницу, панель по прежнему свёрнута. Как исправить?

  Ответить  
 
 автор: Саня   (29.10.2009 в 02:25)   письмо автору
 
   для: maximum7   (28.10.2009 в 20:17)
 

panel.show(); уберите.

  Ответить  
 
 автор: maximum7   (30.10.2009 в 12:04)   письмо автору
 
   для: Саня   (29.10.2009 в 02:25)
 

спасибо, разобрался, теперь работает.

panel.show(); уберите.

не в этом была проблема.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования