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>@H_403_3@ 
 

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

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

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

解决方法

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

负利润带来了一切.

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

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

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...