jquery 如果父Div不透明度< 100,则禁用子元素中的链接[已关闭]

i86rm4rw  于 2023-11-17  发布在  jQuery
关注(0)|答案(3)|浏览(90)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

4天前关闭。
Improve this question
花了一段时间搜索这个,只能找到有关如何禁用可点击链接时,不透明度为0%的信息。
我想做一些类似的事情。我想禁用任何子元素中的所有可点击链接,当它的任何父元素的不透明度<100时。
例如:ParentDiv初始不透明度为50%,但悬停时为100%。ParentDiv内部的子链接将被禁用,直到ParentDiv达到100%不透明度。ParentDiv在悬停时达到100%不透明度。

6tr1vspr

6tr1vspr1#

您可以通过以下方式获得ParentDiv的不透明度:

var elem = document.getElementById("ParentDiv");
var opacity= window.getComputedStyle(elem,null).getPropertyValue("opacity");

字符串
要禁用子<a>标记,请执行以下操作:

if (opacity<1) {
        elem.getElementsByTagName("a").disabled=true;
}

xe55xuns

xe55xuns2#

你可以使用pointer-events: none;来避免可点击的链接:

.div { opacity: 0.5; }
.div:hover { opacity: 1; }

.div a { pointer-events: none; }
.div:hover a { pointer-events: all; }

字符串
关于指针事件的更多信息,您可以找到here

oxalkeyp

oxalkeyp3#

我已经为我做了这件事,它工作得很好,这是代码。

$('.grindpost a').each(function(e){
            $(this).click(function(e){
                if ($(this).closest('.grindpost').css('opacity') != 1) { e.preventDefault(); return false; }
            });
            
        });

字符串
这实际上是一种非常简洁的方式,让移动的用户可以通过伪“悬停”进行交互。您将div设置为50不透明度,然后用户必须单击它才能看到div中的全色链接图像。然后如果他们喜欢它,他们单击现在100%不透明度的图像,然后将其带到您的链接。

相关问题