【发布时间】:2015-05-01 17:40:07
【问题描述】:
我通常是一名 Rails 开发人员,但我犯了一个错误,同意做一些 Squarespace 定制工作。我正在尝试构建一个悬停蒙版效果,当用户将鼠标悬停在图像上时,会出现一个标题并且图像变得不透明。
这是我的 HTML
<div class="outerdiv">
<a class="image" href="http://google.com">
<img src="https://placekitten.com/g/200/300"></img>
</a>
<div class="title">
words
</div>
</div>
我最初尝试让外部 div 在悬停时更改不透明度并触发文本显示,但使用该方法,文本位于蒙版效果下方,如下所示:http://jsfiddle.net/kaxla/L05wLccd/ 我相对确定无法通过以下方式解决此问题CSS 因为 HTML 的布局方式。我错了吗?
现在我认为它必须使用 JQuery 来完成,所以我得到了这个:
这是我的 CSS:
.title {
position:absolute;
margin-top: -165px;
width: 100%;
font-size: 30px;
text-transform: uppercase;
}
这是我的 JS(JQuery):
$(".image").mouseenter(function(){
$(this).fadeTo("slow", .2);
});
$(".image").mouseleave(function(){
$(this).fadeTo("slow", 1);
});
$(".outerdiv").mouseenter(function(){
$(this).find(".title").show();
});
$(".outerdiv").mouseleave(function(){
$(this).find(".title").hide();
});
这是一个小提琴:http://jsfiddle.net/kaxla/pmujh90c/
除了当我将鼠标悬停在标题上时,不透明效果消失了。
假设它不能用纯 CSS 修复,当标题 div 悬停在上面时,我需要什么 JQuery 代码来触发图像改变不透明度?
【问题讨论】:
-
文字位于图像顶部,因此当您将其悬停时,您将鼠标离开图像。
-
好的,所以我可以删除mouseleave图像部分,它可以工作,但不透明度一直保持不变。没有办法让它根据 mouseleave 的某些实例改变不透明度,而其他实例不存在?
标签: jquery css squarespace