【问题标题】:bootstrap 4 hide element using jsbootstrap 4 使用 js 隐藏元素
【发布时间】:2018-08-27 06:45:07
【问题描述】:

我想在页面上隐藏一些使用“d-md-block”类的元素。 由于类定义的重要性,我不能使用 jquery 隐藏/显示功能。

例如,我希望一个元素在桌面上可见

<div id="test" class="d-none d-md-block">Welcome User!</div>

可见性按预期工作。 然后,当用户单击按钮时,我想切换可见性(由于 d-md-none 类而失败)

 $('#btn').on('click',function(){$('#test').hide();});
   $('#anotherBtn').on('click',function(){$('#test').show();});

知道如何解决这个问题吗?

【问题讨论】:

  • 由于d-md-block class而失败怎么说?
  • @Thamaraiselvam 它实际上失败了,因为 d-none 类它具有 display: none !imporatant 属性
  • 是的,正确是由于 d-none 类,但这不是重点……知道谁能使用 jquery 可见性函数和这些类吗?

标签: javascript jquery twitter-bootstrap bootstrap-4


【解决方案1】:

在 bootstrap-4 中显示和隐藏元素有一个简单的解决方法。由于d-none 类分配了display: none !imporatant 属性,您可以通过JavaScript 简单地添加和删除该类来模拟hideshow 操作。像这样的:

$('#btn').on('click', function() {
  $('#test').removeClass('d-block')
});
$('#anotherBtn').on('click', function() {
  $('#test').addClass('d-block');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div id="test" class="d-none d-md-block">Welcome User!</div>
<button id='btn'>Hide</button>
<button id='anotherBtn'>Show</button>

【讨论】:

  • 我想我可以做到,但是我正在从 v3 迁移到 v4,并且已经编写了很多代码,我不想重建所有内容,如果我遵循这个逻辑意味着我必须找到所有显示/隐藏元素并替换代码的地方,动画也不起作用,例如我们的 slideDown、slideUp(是的,在完成的事件上我可以添加/删除类,但特别是在节目中它不会动画)
  • 如果有多个元素,则使用d-block。这对你有用。它将使 d-none 类保持不变,对你来说一切都一样
  • 不,我不是还在尝试使用所有的 !important 标签来修复它认为是 javascript。它是一个幻灯片菜单,仅在桌面上可见,并且默认情况下不展开(这需要自定义样式显示:无!重要以覆盖 d-md-block 类)当用户单击展开图标时 i slideDown /Up the menu 所以只有删除 d-block 并不能解决我的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 2014-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多