首页 新闻 会员 周边 捐助

IE中为什么使用jquery动态修改div高度,高度增加而其余样式没有覆盖所增加的高度

0
悬赏园豆:100 [已解决问题] 解决于 2013-03-18 09:42

jquery增加div高度代码:  $("#" + c).height(h1+h2);h1是之前的高度,h2是要加的高度。

div使用样式为:

margin:12px;
height:200px;
border: 1px solid #DDD;
background-color:#fff;
padding:6px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
-webkit-border-radius: 4px;

多次添加第一个div的高度后第一个div的高度增加了但是所增加的高度没有获得上面所用的样式,仿佛是增加了两个div之间的高度,求高手解答,感激不尽!

问题补充:

Cleonard的主页 Cleonard | 初学一级 | 园豆:89
提问于:2013-03-14 18:00
< >
分享
最佳答案
0

 $("#" + c).css("height","43px"); 这个是设置高度 不是在原有基础上增加

收获园豆:100
Yu | 专家六级 |园豆:12990 | 2013-03-14 20:18

额,对不起,那个是之前写的测试的代码后面改成了 $("#" + c).height(h1+h2);h1是之前的高度,h2是要加的高度,这样写了后还是没效果

Cleonard | 园豆:89 (初学一级) | 2013-03-14 21:47

@Cleonard: 估计是你 h1和h2 取值有问题不能有 px

 

var h1=50;
var h2=60;
$("#hello").height(h1+h2);

 

这样是可以实现效果

Yu | 园豆:12990 (专家六级) | 2013-03-14 22:26

@Cleonard: 应该是类似下面的写法

                $("#d1").height($("#d1").height() + 100);
                $("#d2").css("height", $("#d2").height() + 100);

两种写法都是相同的

第一种更加简单些。你的问题可能是取得原有高度时有问题,请检查

陈希章 | 园豆:2538 (老鸟四级) | 2013-03-15 08:20

@陈希章: 谢谢,试过了但是还是无效

Cleonard | 园豆:89 (初学一级) | 2013-03-15 09:44

@Cleonard: 最好把增加这部分的代码 贴出来 才能帮你解决

Yu | 园豆:12990 (专家六级) | 2013-03-15 09:48

@Yu: 


function Slide(id) {
var ContentId = "item_" + id;
var b = document.getElementById("item_" + id);
var c = "newsItem_" + id;
var h1 = $("#" + c).height();
var h2 = $("#" + ContentId).height();
if (b.style.display == "none") {
$("#" + ContentId).slideDown("fast");
$("#" + c).height($("#" + c).height() + h1);
}
else {

$("#" + c).height(h1 - h2);
$("#" + ContentId).slideUp("fast");
}
}

Cleonard | 园豆:89 (初学一级) | 2013-03-15 11:21

@Cleonard: 这个还看不出来有什么问题

先确定传进来的 id 对不对

如果可以就把 html也贴出来

Yu | 园豆:12990 (专家六级) | 2013-03-15 13:33

@Yu: 前台代码是后台动态生成的

 1                    sb.Append(" <div class=\"newsItem\" id=\"newsItem_" + i + "\" onmouseover=\"newsItem_onmouseover(" + i + ")\" onmouseout=\"newsItem_onmouseout('" + i + "')\">");
 2                     sb.Append(" <a class=\"title\" onclick=\"Slide(" + i + ")\" href=\"javascript:\">" + dt.Rows[i - 1]["name"].ToString() + "</a>");
 3                     sb.Append(editHtml);
 4                     sb.Append(deleteHtml);
 5                     sb.Append(MapLookHtml);
 6                     sb.Append("<div id=\"item_" + i + "\" style=\"display: none\">");
 7                     sb.Append(line);
 8                     sb.Append("</div>");
 9                     sb.Append("</div>");
10 TaskGroupItems.InnerHtml = sb.ToString();
Cleonard | 园豆:89 (初学一级) | 2013-03-15 13:46

@Cleonard: 

id 为 item_... 的 div 的样式设置有问题

跟上层div不一样吧

 

Yu | 园豆:12990 (专家六级) | 2013-03-15 13:59

@Yu: 样式弄成一样后就变成这样了

Cleonard | 园豆:89 (初学一级) | 2013-03-15 14:12

@Cleonard: 这样是对的,按你输出的HTML的层次结构

Yu | 园豆:12990 (专家六级) | 2013-03-15 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册