jquery – Javascript – 更改边框宽度而不移动周围的元素.

前端之家收集整理的这篇文章主要介绍了jquery – Javascript – 更改边框宽度而不移动周围的元素.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 HTML
<div style="float:left;">
  <h2>Hover:</h2><br />
  <div class="Size" id="160x600" style="margin:10px;float:left;height:600px; width:160px;border:1px solid #90A4AF;text-align:center;position:relative">
    <div style="position:absolute;top:50%;text-align:center"> Text</div>
  </div>

  <div class="Size" id="336x280" style="margin:10px;float:left;height:280px; width:336px;border:1px solid #90A4AF;text-align:center;position:relative">
    <div style="position:absolute;top:50%;text-align:center">Text</div>
  </div>

  <div class="clear">&nbsp;</div>

  <div class="Size" id="728x90" style="margin:10px;height:90px; width:728px;border:1px solid #90A4AF;text-align:center;position:relative">
    <div style="position:absolute;top:50%;text-align:center">Text</div>
  </div>

</div>

并且以下JS更改了鼠标悬停时的边框大小:

$('.Size').hover(
  function() {
    $(this).css('borderWidth','5px');
  },function() {
    $(this).css('borderWidth','1px');
  });

问题是它通过将border-width添加到元素的总宽度来移动它周围的元素.有什么建议呢?

解决方法

当我这样做,我想要相同的边界移动结果,我喜欢这样做:
function() { 
    $(this).css('borderWidth','7px');
    $(this).css('margin','-7px');
});

负利润带来了一切.

您还可以将样式集合到一个对象中,并将它们传递到一个.css()调用中:

$(this).css( {borderWidth: '7px',margin: '-7px'} );

猜你在找的jQuery相关文章