[英]jQuery hide only works when toggling fullscreen
我想用 jQuery 切换隐藏“myDIV”。 在移动设备上完美运行,但在桌面上按下按钮时,只有在按下按钮后切换全屏时才有效,否则无效。 以前有人遇到过这个问题吗?
这是该网站的链接:
https://mkt.partners/analytical/draft.html
按钮在第 616 行
<a onclick="javascript:toggler('myDIV');" class="btn btn-primary lookbook-action"><b>Ver más.</b></a>
我试图隐藏的 div 在第 618 行
<div id="myDIV" class="hidden">
CSS class “隐藏”只是隐藏了 div
<style type="text/css">
.hidden {
display:none;
}
</style>
我的脚本在第 1460 行
<script>
function toggler(divId) {
$("#" + divId).toggle("slow");
}
</script>
来自 JQuery 的文档:
在没有参数的情况下,
.toggle()
方法只是简单地切换元素的可见性 [...] 通过更改 CSS 显示属性,匹配的元素将立即显示或隐藏,没有 animation。
这意味着 JQuery 是直接修改内联样式属性。
您的问题来自这样一个事实,即您在其他位置(您的 CSS)将此项目的display
属性设置为none
。 因此,无论 JQuery 做什么,您的按钮 100% 的时间都是隐藏的。
就像您用窗帘盖住了一些东西,然后尝试用另一个窗帘盖住它再次隐藏它......只是拉回第二个窗帘并想知道为什么您的 object 不可见 - 它仍然被第一幕!
去掉多余的 CSS( hidden
类),让 JQuery 处理隐藏。
function toggler(divId) { $("#" + divId).toggle("slow"); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="myDIV" style="background-color: red; width: 5em; height: 5em;"></div> <,-- Use a button, not an anchor; since this isn't a link --> <button onclick="toggler('myDIV')," class="btn btn-primary lookbook-action"> <.-- <b> tags are deprecated, use strong instead --> <strong>Ver más.</strong> </button>
整个“这适用于桌面,但只有当你全屏时,它总是适用于移动设备”这件事让我觉得你在一些媒体查询或其他东西背后有这个 CSS 事故。
我测试了您提供的实时链接,只需关闭display: none
在我的 DevTools 中的.hidden
class 修复了问题,并且Ver más按钮成功隐藏了div
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.