Jquery 填充增加后css边框消失
我在页面上有一个div和一个显示层的按钮。在该层上,我有按钮添加边框,并增加从div内容到边框的填充 当该用户单击“保存”时,图层将再次隐藏,主页上的原始div将更新为新的边框详细信息 我使用ajax将细节发送到db,然后在主页上再次调用它们作为刷新 我遇到的问题是,当原始div从db获取更改的详细信息并更新原始div时,如果填充增加,则底部和左侧边框将消失 现在我不确定这是否与原始div的宽度小于宽度加上填充有关,或者是否存在其他问题 我曾尝试使用jqueryouterwidth设置宽度,以使div与padding和border匹配,但左侧和底部仍然没有显示 如果我刷新页面,它们就在那里 这是在以下情况下更新原始div的功能:Jquery 填充增加后css边框消失,jquery,css,Jquery,Css,我在页面上有一个div和一个显示层的按钮。在该层上,我有按钮添加边框,并增加从div内容到边框的填充 当该用户单击“保存”时,图层将再次隐藏,主页上的原始div将更新为新的边框详细信息 我使用ajax将细节发送到db,然后在主页上再次调用它们作为刷新 我遇到的问题是,当原始div从db获取更改的详细信息并更新原始div时,如果填充增加,则底部和左侧边框将消失 现在我不确定这是否与原始div的宽度小于宽度加上填充有关,或者是否存在其他问题 我曾尝试使用jqueryouterwidth设置宽度,以使
function UpdateElementOfParentBorder(box_id, page_ref, template_ref, image_box) {
var myBox = "image"+box_id;
$.getJSON("get_border_content.php", { box_id: box_id, page_ref: page_ref, template_ref:template_ref } )
.done(function(data)
{
$('#'+myBox).css('padding',data.e+'px');
$('#'+myBox).css('border-width', data.a+'px');
$('#'+myBox).css('border-color',data.b);
$('#'+myBox).css('border-style',data.d);
var outerwid=$('#'+myBox).outerWidth(false);
$('#'+myBox).width(outerwid);
});
}
设法解决了这个问题。我增加了图像的大小,因此它不再适合外部div的对比,因此重叠了底部和左侧边界。我修复了它,但更改了外部div的宽度和高度,并将图像的宽度和高度设置为100%您可以添加一个JSFIDLE吗?请记住,反复调用
$(“#”+myBox)
会对性能造成很大的影响,并产生难看的代码。将DOM元素缓存在局部变量中,并将多个CSS属性作为一个对象传递。我同意@Bojangles您可以像这样合并它们:$('#'+myBox).CSS({'padding':data.e+'px','border':data.a+'px'+data.b data.d}).width(outerwid)
这样你就不需要每次都查询DOM并过滤结果了。是的,我完全同意,我现在只是把代码放到gether那里,试着让它工作。Toni,我不能做JSFIDLE,因为它依赖于您发现的mysql dbAwesome。供日后参考;接受你自己的正确答案。这样这个问题就可以解决了。