动画div up and down

时间:2011-03-26 00:34:01

标签: jquery

我只是制作一个面板,(div)有cookie,可以打开或关闭。 我想在点击时打开或关闭div的动画。

我到目前为止的代码是:

var state;
window.onload=function() {
   obj=document.getElementById('closeable');
   state=(state==null)?'hide':state;
   obj.className=state;

   document.getElementById('setup').onclick=function() {
      obj.className=(obj.className=='show')?'hide':'show';
      state=obj.className;
      setCookie();

      return false;
   }
}

function setCookie() {
   exp=new Date();
   plusMonth=exp.getTime()+(31*24*60*60*1000);
   exp.setTime(plusMonth);
   document.cookie='State='+state+';expires='+exp.toGMTString();
}

function readCookie() {
   if(document.cookie) {
      state=document.cookie.split('State=')[1];
   }
}
readCookie();

任何帮助表示赞赏

3 个答案:

答案 0 :(得分:2)

如果我理解你的问题,我不确定。但是,根据我的理解,我已经把小提琴放在一起,以实现你想要的。看看。

http://jsfiddle.net/mvelaga/de4FE/1

修改

更新小提琴以解决评论中提到的情况

http://jsfiddle.net/mvelaga/de4FE/2/

答案 1 :(得分:1)

我假设您正在使用jQuery,因为您已对其进行了标记。

尝试: //在dom准备好了

jQuery(function($) {
    var panel = $('#closable');
    var state = 'hide';

    $('#setup').click(function(e) {
        e.preventDefault();
        if(state == 'hide') {
            // you can use the animate() or 
            // fadeIn()/fadeOut methods, too
            // depending on desired effect
            panel.slideDown();
            $(this).text('Hide');
            state = 'show';
        } else
            panel.slideUp();
            $(this).text('Show');
            state = 'hide';
        }
        setCookie();
    })
    function setCookie() {
         ...
    }
    function readCookie() {
         ...
    }
}); 

答案 2 :(得分:0)

您是否尝试过JQuery toogle+slide