Jquery 当鼠标悬停在div上时,如何更改兄弟姐妹的子级

Jquery 当鼠标悬停在div上时,如何更改兄弟姐妹的子级,jquery,css,squarespace,Jquery,Css,Squarespace,我通常是Rails开发人员,但我犯了一个错误,同意做一些Squarespace定制工作。我试图构建一个悬停遮罩效果,当用户将鼠标悬停在图像上时,会出现一个标题,而图像会变得不透明 这是我的HTML <div class="outerdiv"> <a class="image" href="http://google.com"> <img src="https://placekitten.com/g/200/300"></img&g

我通常是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>
以下是我的JS(JQuery):

这是一把小提琴:

它正在工作,除非我将鼠标悬停在标题上,不透明效果消失


假设不能用普通CSS修复,当title div悬停在上方时,我需要什么JQuery代码来触发图像更改不透明度?

将JQuery更改为类似这样,使其可以执行您所需的操作:

$(".outerdiv").mouseenter(function(){
  $(this).find(".title").show();
  $(this).find('.image').fadeTo("slow", .2);    
});

$(".outerdiv").mouseleave(function(){
  $(this).find(".title").hide();
  $(this).find('.image').fadeTo("slow", 1);        
});

以下是工作版本:

对JQuery进行了如下更改,使其能够完成您所需的任务:

$(".outerdiv").mouseenter(function(){
  $(this).find(".title").show();
  $(this).find('.image').fadeTo("slow", .2);    
});

$(".outerdiv").mouseleave(function(){
  $(this).find(".title").hide();
  $(this).find('.image').fadeTo("slow", 1);        
});

以下是工作版本:

对JQuery进行了如下更改,使其能够完成您所需的任务:

$(".outerdiv").mouseenter(function(){
  $(this).find(".title").show();
  $(this).find('.image').fadeTo("slow", .2);    
});

$(".outerdiv").mouseleave(function(){
  $(this).find(".title").hide();
  $(this).find('.image').fadeTo("slow", 1);        
});

以下是工作版本:

对JQuery进行了如下更改,使其能够完成您所需的任务:

$(".outerdiv").mouseenter(function(){
  $(this).find(".title").show();
  $(this).find('.image').fadeTo("slow", .2);    
});

$(".outerdiv").mouseleave(function(){
  $(this).find(".title").hide();
  $(this).find('.image').fadeTo("slow", 1);        
});

以下是工作版本:

当鼠标悬停标题时,它从图片中获取焦点,因此调用mouseleave函数您需要设置标题,使其无法获得焦点,并且当鼠标悬停标题时,它可以从图片中获取焦点,因此调用mouseleave函数您需要设置标题因此,当鼠标悬停在标题上时,它无法获得焦点,最好转到它从图片中获取焦点,因此调用mouseleave函数您需要设置标题,以便它无法获得焦点,当鼠标悬停在标题上时,它从图片中获取焦点,这样调用mouseleave函数您就可以了需要设置标题,使其无法获得焦点,并且最好使用当前HTML结构的CSS实现您想要实现的目标

注意事项

  • 这在纯触摸设备上不起作用
  • IE 8和9不支持CSS转换,因此不透明度将立即改变,而不是褪色
Hey是一个

HMTL:

说明:

我们之所以能够实现这一点,是因为我们将
:hover
附加到
.outerdiv
,因此当我们将鼠标悬停在
.title
上时,我们仍然将鼠标悬停在
.outerdiv

尚未解决的问题是,链接现在被
.title
遮住了。最好的解决方案是修改标记,使
.title
位于链接内部,然后我们可以像对待
.outerdiv
一样对待
a.image


除了IE 8-10之外,一种适用于所有浏览器的方法是添加
指针事件:无
.title
,这将允许单击事件通过它传递到下面的链接。

使用当前HTML结构的CSS可以实现您想要实现的功能

注意事项

  • 这在纯触摸设备上不起作用
  • IE 8和9不支持CSS转换,因此不透明度将立即改变,而不是褪色
Hey是一个

HMTL:

说明:

我们之所以能够实现这一点,是因为我们将
:hover
附加到
.outerdiv
,因此当我们将鼠标悬停在
.title
上时,我们仍然将鼠标悬停在
.outerdiv

尚未解决的问题是,链接现在被
.title
遮住了。最好的解决方案是修改标记,使
.title
位于链接内部,然后我们可以像对待
.outerdiv
一样对待
a.image


除了IE 8-10之外,一种适用于所有浏览器的方法是添加
指针事件:无
.title
,这将允许单击事件通过它传递到下面的链接。

使用当前HTML结构的CSS可以实现您想要实现的功能

注意事项

  • 这在纯触摸设备上不起作用
  • IE 8和9不支持CSS转换,因此不透明度将立即改变,而不是褪色
Hey是一个

HMTL:

说明:

我们之所以能够实现这一点,是因为我们将
:hover
附加到
.outerdiv
,因此当我们将鼠标悬停在
.title
上时,我们仍然将鼠标悬停在
.outerdiv

尚未解决的问题是,链接现在被
.title
遮住了。最好的解决方案是修改标记,使
.title
位于链接内部,然后我们可以像对待
.outerdiv
一样对待
a.image


除了IE 8-10之外,一种适用于所有浏览器的方法是添加
指针事件:无
.title
,这将允许单击事件通过它传递到下面的链接。

使用当前HTML结构的CSS可以实现您想要实现的功能

注意事项

  • 这在纯触摸设备上不起作用
  • IE 8和9不支持CSS转换,因此不透明度将立即改变,而不是褪色
Hey是一个

HMTL:

说明:

我们之所以能够实现这一点,是因为我们将
:hover
附加到
.outerdiv
,因此当我们将鼠标悬停在
.title
上时,我们仍然将鼠标悬停在
.outerdiv

尚未解决的问题是,链接现在被
.title
遮住了。最好的解决方案是修改标记,使
.title
位于链接内部