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之间的高度,求高手解答,感激不尽!
$("#" + c).css("height","43px"); 这个是设置高度 不是在原有基础上增加
额,对不起,那个是之前写的测试的代码后面改成了 $("#" + c).height(h1+h2);h1是之前的高度,h2是要加的高度,这样写了后还是没效果
@Cleonard: 估计是你 h1和h2 取值有问题不能有 px
var h1=50;
var h2=60;
$("#hello").height(h1+h2);
这样是可以实现效果
@Cleonard: 应该是类似下面的写法
$("#d1").height($("#d1").height() + 100);
$("#d2").css("height", $("#d2").height() + 100);
两种写法都是相同的
第一种更加简单些。你的问题可能是取得原有高度时有问题,请检查
@陈希章: 谢谢,试过了但是还是无效
@Cleonard: 最好把增加这部分的代码 贴出来 才能帮你解决
@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: 这个还看不出来有什么问题
先确定传进来的 id 对不对
如果可以就把 html也贴出来
@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:
id 为 item_... 的 div 的样式设置有问题
跟上层div不一样吧
@Yu: 样式弄成一样后就变成这样了
@Cleonard: 这样是对的,按你输出的HTML的层次结构