Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 填充增加后css边框消失_Jquery_Css - Fatal编程技术网

Jquery 填充增加后css边框消失

Jquery 填充增加后css边框消失,jquery,css,Jquery,Css,我在页面上有一个div和一个显示层的按钮。在该层上,我有按钮添加边框,并增加从div内容到边框的填充 当该用户单击“保存”时,图层将再次隐藏,主页上的原始div将更新为新的边框详细信息 我使用ajax将细节发送到db,然后在主页上再次调用它们作为刷新 我遇到的问题是,当原始div从db获取更改的详细信息并更新原始div时,如果填充增加,则底部和左侧边框将消失 现在我不确定这是否与原始div的宽度小于宽度加上填充有关,或者是否存在其他问题 我曾尝试使用jqueryouterwidth设置宽度,以使

我在页面上有一个div和一个显示层的按钮。在该层上,我有按钮添加边框,并增加从div内容到边框的填充

当该用户单击“保存”时,图层将再次隐藏,主页上的原始div将更新为新的边框详细信息

我使用ajax将细节发送到db,然后在主页上再次调用它们作为刷新

我遇到的问题是,当原始div从db获取更改的详细信息并更新原始div时,如果填充增加,则底部和左侧边框将消失

现在我不确定这是否与原始div的宽度小于宽度加上填充有关,或者是否存在其他问题

我曾尝试使用jqueryouterwidth设置宽度,以使div与padding和border匹配,但左侧和底部仍然没有显示

如果我刷新页面,它们就在那里

这是在以下情况下更新原始div的功能:

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。供日后参考;接受你自己的正确答案。这样这个问题就可以解决了。