mouseover事件控制fadeto
mouseover event to control fadeto
我试图使图像 fadeTo 到特定的不透明度,但当鼠标悬停(mouseenter、mouseleave)在父级上时触发 div。
下面的代码显示了两个 div 元素(工作正常)但由于某些原因,当我将“.children("div")”更改为“.children("img")" 当然,我确实有一张图片。
是否缺少某些语法或命名约定?
$(document).ready(function(){
$(".title").mouseenter(function(){
$(this).children("img").fadeTo("fast", 0.8);
});
$(".title").mouseleave(function(){
$(this).children("img").fadeTo("fast", 1.0);
});
});
.wrap {
width: auto;
margin-left: 2%;
margin-right: 2%;
padding-left: 2%;
padding-right: 2%;
float: none;
}
.title {
border: 1px solid #C1C1C1;
background: #000;
cursor: pointer;
transition-property: all;
transition-duration: 0.2s;
transition-timing-function: ease;
transition-delay: 0;
margin-bottom: 0px;
position: relative;
margin-top: 40px;
}
img {
height: 100px;
width: 100px;
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<div class="fluid wrap" ontouchstart="">
<div class="title">
<img src="https://inkplant.com/images/code/red-box.jpg"/>
</div>
</div>
你的 <img>
之后 </div>
有一个语法错误,我认为这是一个错误的拼写错误
如果您的 img 带有 class 框使用
$(this).find(".box")
而不是
$(this).children("div")
如果您的 img 没有任何 class 只需使用
$(this).find("img")
你没有提到图像在哪里,但我想你想要:
$(document).ready(function(){
$(".title").mouseenter(function(){
$(this).find("img").fadeTo("fast", 0.8);
});
$(".title").mouseleave(function(){
$(this).find("img").fadeTo("fast", 1.0);
});
});
这是因为
.children
仅影响目标元素的直接后代。
.find
将找到作为目标节点子节点的任何元素
我试图使图像 fadeTo 到特定的不透明度,但当鼠标悬停(mouseenter、mouseleave)在父级上时触发 div。
下面的代码显示了两个 div 元素(工作正常)但由于某些原因,当我将“.children("div")”更改为“.children("img")" 当然,我确实有一张图片。
是否缺少某些语法或命名约定?
$(document).ready(function(){
$(".title").mouseenter(function(){
$(this).children("img").fadeTo("fast", 0.8);
});
$(".title").mouseleave(function(){
$(this).children("img").fadeTo("fast", 1.0);
});
});
.wrap {
width: auto;
margin-left: 2%;
margin-right: 2%;
padding-left: 2%;
padding-right: 2%;
float: none;
}
.title {
border: 1px solid #C1C1C1;
background: #000;
cursor: pointer;
transition-property: all;
transition-duration: 0.2s;
transition-timing-function: ease;
transition-delay: 0;
margin-bottom: 0px;
position: relative;
margin-top: 40px;
}
img {
height: 100px;
width: 100px;
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<div class="fluid wrap" ontouchstart="">
<div class="title">
<img src="https://inkplant.com/images/code/red-box.jpg"/>
</div>
</div>
你的 <img>
之后 </div>
有一个语法错误,我认为这是一个错误的拼写错误
如果您的 img 带有 class 框使用
$(this).find(".box")
而不是
$(this).children("div")
如果您的 img 没有任何 class 只需使用
$(this).find("img")
你没有提到图像在哪里,但我想你想要:
$(document).ready(function(){
$(".title").mouseenter(function(){
$(this).find("img").fadeTo("fast", 0.8);
});
$(".title").mouseleave(function(){
$(this).find("img").fadeTo("fast", 1.0);
});
});
这是因为
.children
仅影响目标元素的直接后代。
.find
将找到作为目标节点子节点的任何元素