javascript - 如果显示元素,想要添加填充 - jquery

标签 javascript jquery html css

所以,我有这个 jQuery 片段:

$("#rectangle").hide();
$("#toggle-rec").click(function () {
      $("#rectangle").toggle(2000);
});

这意味着我的站点中有一个矩形 div,首先我将其隐藏。当有人点击带有 id #toggle-rec 的按钮时,会显示矩形。在下一次单击中,矩形将消失,依此类推。

但是,如果显示矩形,我想这样做,将整个网站(矩形除外)向左填充 200 像素(作为矩形的宽度),所以:

padding-left:200px;

但是我还是不知道该怎么做。当然如果矩形消失了,我们应该取消 padding-left 什么的。有什么建议吗?

请注意,除矩形外的所有网站都在包装 div 下。

我的 HTML:

<div id="rectangle">
Some text on the rectangle...
</div>
<div id="wrapper">
<!-- A lot of things... -->
<button id="toggle-rec">Toggle rectangle</button>
</div>

最佳答案

这应该有效。请检查演示

$("#rectangle").hide();
$("#toggle-rec").click(function () {
   $("#rectangle").toggle(2000).promise().done(function() { 
     if($("#rectangle").css('display') == 'none') 
     {
       $('body').removeClass('leftMargin');
     }
     else {
       $('body').addClass('leftMargin'); 
     }
   }); 
});
.leftMargin
{
  padding-left:200px;
  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="rectangle">
Some text on the rectangle...
</div>
<div id="wrapper">
<!-- A lot of things... -->
<button id="toggle-rec">Toggle rectangle</button>
</div>

关于javascript - 如果显示元素,想要添加填充 - jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34894866/

相关文章:

javascript - 在 JavaScript Firebase 应用程序中处理 POST 请求的正确方法?

javascript - 将数据从输入字段传递到 Angular 工厂中的 $http.get

javascript - 当使用 [Enter] 键并存在多个表单时提交预期 HTML 表单的通用解决方案?

c# - .append() 在为图像 slider 动态绑定(bind)图像时不起作用

php - 主页中的音频文件

javascript - 这是一个有效的 React HoC 用例吗?

javascript - AngularFire 检查是否存在相同标题的项目

javascript - CSS/JQuery 链接悬停不会触发

javascript - 无法让 Jquery .each 函数正常工作

html - 我当前由图像和文本组成的水平滚动列表将文本水平放置到图像上。如何放置下面的文字?