当不透明度为 0% 时从元素中移除点击

Posted

技术标签:

【中文标题】当不透明度为 0% 时从元素中移除点击【英文标题】:Remove clicking from element when opacity is at 0% 【发布时间】:2012-09-07 01:04:43 【问题描述】:

我的页面上有一些内容需要淡出到 0% 的不透明度,而不是淡出并将元素从页面中完全移除,因此元素的高度和宽度仍然存在,但只是处于非活动状态。

问题是,该元素中的对象仍然是可点击的并且仍然会触发事件。有没有一种特殊的方法可以让它们处于非活动状态,还是很简单 cursor:default;preventDefault();

【问题讨论】:

【参考方案1】:

尝试更改内容的可见性。

在css中,

visibility: hidden

这将隐藏元素,但仍会占据与完全显示时相同的宽度和高度。

更好的是,您可以淡出元素,然后更改其可见性:

$('#target').animate(
      opacity: 0
    ,
    1000, // specifies duration of fade (in milliseconds)
    function() 
        // this function will called after the opacity animation has completed
        $(this).css('visibility', 'hidden');
    
);

【讨论】:

谢谢!正是我需要的。我想知道这两者之间有什么区别……显示和可见性。 带有 display:none 的元素不会“保留”空间,就像那里没有元素一样。另一方面,具有可见性的项目:隐藏将保留空间,因为元素具有不透明度:0【参考方案2】:

对我来说,它是这样工作的:

.dropdown-menu 
    transition: all .32s ease;
    opacity: 0;
    display: block;
    visibility: hidden;


.show 
    visibility: visible;
    opacity: 1;

【讨论】:

以上是关于当不透明度为 0% 时从元素中移除点击的主要内容,如果未能解决你的问题,请参考以下文章

使用导航组件时从 BottomNavigationView 中移除 Badge

viewController 在用于 UINavigationController 时从 [tabBarController viewControllers] 数组中移除

CSS 中从顶部 0% 到底部 100% 的透明(不透明度)图像

jQuery 效果方法

PS绘制飘逸彩色丝带教程

使表单在首次加载时不可见