代码之家  ›  专栏  ›  技术社区  ›  Laz

如何创建这样的幻灯片效果?

  •  1
  • Laz  · 技术社区  · 15 年前

    看看这个 http://heroku.com/

    你是如何创建这样的东西的?(指幻灯片)你有javascript的鼠标移动事件还是所有的css?请给我一个基本的提纲好吗?

    3 回复  |  直到 15 年前
        2
  •  1
  •   mplungjan    15 年前

    简单的jQuery。

        3
  •  1
  •   Michael Sparks    15 年前

    如果不需要加载整个jQuery库,请尝试此操作。 A simple div slide down JS script

    function doSlide(id){
        timeToSlide = 50; // in milliseconds
        obj = document.getElementById(id);
        if(obj.style.display == "none"){ // if it's allready hidden we slide it down
           obj.style.visibility = "hidden";
           obj.style.display = "block";
           height = obj.offsetHeight;
           obj.style.height="0px";
           obj.style.visibility = "visible";
           slideDown(obj,0,height,Math.ceil(height/timeToSlide));
        } else {
           slideUp(obj,Math.ceil(obj.offsetHeight/timeToSlide),obj.offsetHeight);
        }
    }
    
    function slideDown(obj,offset,full,px){
        if(offset < full){
           obj.style.height = offset+"px";
           offset=offset+px;
           setTimeout((function(){slideDown(obj,offset,full,px);}),1);
        } else {
           obj.style.height = full+"px"; //If the data inside is updated on runtime you can use auto instead...
        }
    }
    
    function slideUp(obj,px,full){
       if((obj.offsetHeight-px) > 0){
          obj.style.height = obj.offsetHeight-px+"px";
          setTimeout((function(){slideUp(obj,px,full);}),1);
       } else {
          obj.style.height=full+"px"; // we reset the height if we were to slide it back down
          obj.style.display = 'none';
       }
    }