用javascript控制div的显示从下方逐渐出现

 我来答
小su文杂谈
2013-12-03 · TA获得超过344个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:120万
展开全部
//html 
<div id="show">show</div>
//css;
#show {width: 100px;height: 100px; background: #ccc; display: none;}
//js file;
window.onload = function () {
//根据ID返回dom元素 
var $ = function(id){return document.getElementById(id);} 
//返回dom元素的当前某css值 
var getCss = function(obj,name){ 
if(obj.currentStyle) {//for ie ;
return obj.currentStyle[name]; 
}else { // for ff;
var style = document.defaultView.getComputedStyle(obj,null); 
return style[name]; 



var show = function(obj,speed){ 
obj = $(obj); 
if (!speed) { 
obj.style.display = 'block'; 
return; 
}
var initH = 0 , initW = 0;
//获取dom的宽与高 
var oWidth = getCss(obj,'width').replace('px',''), oHeight = getCss(obj,'height').replace('px',''); 
//每次dom的递减数(等比例) 
var wcut = 2*(+oWidth.replace('px','') / +oHeight.replace('px','')),hcut = 2; 
//处理动画函数 
var process = function(){ 
        obj.style.overflow = 'hidden';
obj.style.display = 'block';
initW = (initW+wcut) > oWidth ? oWidth : initW+wcut; 
initH = (initH+hcut) > oHeight ? oHeight : initH+hcut; 
//判断是否减完了 
if(initW !== oWidth || initH !== oHeight) { 
//obj.style.width = initW+'px'; 
obj.style.height = initH+'px'; 

setTimeout(function(){process();},speed); 
}else { 
//加完后,设置属性为显示以及原本dom的宽与高; 
//obj.style.width = oWidth+'px';
obj.style.height = oHeight+'px';



process(); 

show("show",50);
}
青梅許紅顔丶
2017-06-28 · TA获得超过995个赞
知道小有建树答主
回答量:694
采纳率:87%
帮助的人:197万
展开全部
  1. javascript操作对象略显麻烦,建议采用Jquery.

  2. Jquery代码如下

$("button").click(function(){
  $("div").animate({bottom:'250px'});
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乌微月2S
2013-12-02 · TA获得超过5037个赞
知道大有可为答主
回答量:5361
采纳率:42%
帮助的人:2871万
展开全部
用jquery的话,有现成的方法。slideout和slidein方法。
用javascript写的话,需要用setInterval方法,不断的改变div的top来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-07-21
展开全部
functionchangeBody(index){switch(index){case1:{document.getElementById('iDBody1').style.display="";document.getElementById('iDBody2').style.display="none";document.getElementById('iDBody3').style.display="none";}case2:{document.getElementById('iDBody1').style.display="none";document.getElementById('iDBody2').style.display="";document.getElementById('iDBody3').style.display="none";}case3:{document.getElementById('iDBody1').style.display="none";document.getElementById('iDBody2').style.display="none";document.getElementById('iDBody3').style.display="";}}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式