用JavaScript实现jQuery里的slideDown()。

很想知道jQuery里的slideDown用原生javascript怎么写。。有没有谁能告诉我使个怎么样的原理,具体怎么实现啊。是不是要用到setTimeout或setI... 很想知道jQuery里的slideDown用原生javascript怎么写。。有没有谁能告诉我使个怎么样的原理,具体怎么实现啊。是不是要用到setTimeout或setInterval。 展开
 我来答
楿濡楿莣_
2014-02-07 · TA获得超过188个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:186万
展开全部

亲,你好,已经搞定,如果没问题,请采纳。

<script>
  
var minheight = 20;
var maxheight = 300;
var time = 1000;
var timer = null;
var toggled = false;

window.onload = function() {
  var controler = document.getElementById('slide');
  var slider = document.getElementById('slider');
  slider.style.height = minheight + 'px';
  controler.onclick = function() {  
    clearInterval(timer);
    var instanceheight = parseInt(slider.style.height);
    var init = (new Date()).getTime();
    var height = (toggled = !toggled) ? maxheight: minheight; 
    
    var disp = height - parseInt(slider.style.height);
    timer = setInterval(function() {
      var instance = (new Date()).getTime() - init;
      if(instance < time ) {
        var pos = Math.floor(disp * instance / time);
        result = instanceheight + pos;
        slider.style.height =  result + 'px';
        document.getElementById('log').innerHTML = 'Current Height : <b>' + result + '</b><br /> Current Time : <b>' + instance + '</b>';
      }else {
        slider.style.height = height + 'px'; //safety side ^^
        clearInterval(timer);
        controler.value = toggled ? ' Slide Up ' :' Slide Down ';
        document.getElementById('log').innerHTML = 'Current Height : <b>' + height + '</b><br /> Current Time : <b>' + time + '</b>';
      }
    },1);
  };
};
</script>
<body>
<h1> test </h1>
  <input type="button" id="slide" value =" Slide Down "/>
  <span id="log" style="position:absolute; left:10px; top:150px;"></span>
  <br />
  <div id="slider">
     content goes here
  </div>

</body>
追问
下拉速度能不能再快一点
追答
var time = 1000; 

这个修改就可以呀
time 时间嘛。。
匿名用户
2014-02-06
展开全部
就是设置某个元素的高度为该元素的默认高度,需要用到setTimeout
追问
默认高度怎么获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-02-07 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
哎,看源代码就知道了呗,ctrl+f搜索slideDown知道吧?
然后呢你就看这个方法里面到底修改了什么属性呀,然后你再用js的方法修改那些属性不就够了么,这么简单,你到谷歌浏览器里面就可以搞定了,一条龙服务!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式