Javascript Flash文本对图像的影响
问题是,当我将鼠标移到图像上时效果很好,但如果我将鼠标移到标题上,则会闪烁。例如: Mi代码为:Javascript Flash文本对图像的影响,javascript,html,css,Javascript,Html,Css,问题是,当我将鼠标移到图像上时效果很好,但如果我将鼠标移到标题上,则会闪烁。例如: Mi代码为: $(文档).ready(函数(){ $('.item a img')。悬停(函数(){ id='.+$(this.attr(“id”); $(this).stop().animate({ 不透明度:.2 }, 200); $(id).removeClass('hide'); },函数(){ $(this).stop().animate({ 不透明度:1 }, 500); $('.text').ad
$(文档).ready(函数(){
$('.item a img')。悬停(函数(){
id='.+$(this.attr(“id”);
$(this).stop().animate({
不透明度:.2
}, 200);
$(id).removeClass('hide');
},函数(){
$(this).stop().animate({
不透明度:1
}, 500);
$('.text').addClass('hide');
});
});代码>
.text{
z指数:1;
位置:绝对位置;
颜色:#000000;
保证金:30px 0px 0px 30px;
字体大小:粗体;
字体大小:13px;
线高:18px;
}
.文本跨度{
颜色:#808080;
}
.隐藏{
显示:无;
}
标题
texto
标题
texto
发生这种情况是因为标题在您设置事件的图像之外
一种解决方案是将title div放在a元素中,并将事件分配给a的hover而不是img,如下所示:
<div class="item">
<a href="#">
<div class="id1 text hide">Title <br /> texto</div>
<img id="id1" src="http://www.adminvps.com.ar/trabajos/sofi_v/example.jpg" alt="" style="max-width: 500px;" />
</a>
</div>
而不是
$('.item a img')
此外,a元素的宽度和高度应至少与img元素相同,以便正确触发事件。这可以通过将其显示为块来轻松实现:
a {
display: block;
}
希望有帮助。这是因为标题不在您设置事件的图像中
一种解决方案是将title div放在a元素中,并将事件分配给a的hover而不是img,如下所示:
<div class="item">
<a href="#">
<div class="id1 text hide">Title <br /> texto</div>
<img id="id1" src="http://www.adminvps.com.ar/trabajos/sofi_v/example.jpg" alt="" style="max-width: 500px;" />
</a>
</div>
而不是
$('.item a img')
此外,a元素的宽度和高度应至少与img元素相同,以便正确触发事件。这可以通过将其显示为块来轻松实现:
a {
display: block;
}
希望有帮助。这是因为标题不在您设置事件的图像中
一种解决方案是将title div放在a元素中,并将事件分配给a的hover而不是img,如下所示:
<div class="item">
<a href="#">
<div class="id1 text hide">Title <br /> texto</div>
<img id="id1" src="http://www.adminvps.com.ar/trabajos/sofi_v/example.jpg" alt="" style="max-width: 500px;" />
</a>
</div>
而不是
$('.item a img')
此外,a元素的宽度和高度应至少与img元素相同,以便正确触发事件。这可以通过将其显示为块来轻松实现:
a {
display: block;
}
希望有帮助。这是因为标题不在您设置事件的图像中
一种解决方案是将title div放在a元素中,并将事件分配给a的hover而不是img,如下所示:
<div class="item">
<a href="#">
<div class="id1 text hide">Title <br /> texto</div>
<img id="id1" src="http://www.adminvps.com.ar/trabajos/sofi_v/example.jpg" alt="" style="max-width: 500px;" />
</a>
</div>
而不是
$('.item a img')
此外,a元素的宽度和高度应至少与img元素相同,以便正确触发事件。这可以通过将其显示为块来轻松实现:
a {
display: block;
}
希望有帮助。当鼠标从img
标记移动到div
标记时,会触发mouseout事件(鼠标悬停时的第二个功能)
您可以在这个函数中检查新元素是否是那个特定的div,如果是,则什么也不做
此代码将实现以下功能:
$(document).ready(function () {
$('.item a img').hover(function (e) {
id = '.' + $(this).attr("id");
$(this).stop().animate({
opacity: .2
}, 200);
$(id).removeClass('hide');
}, function (e) {
if (e.toElement == $(this).parents('.item').find('div')[0]) {
return;
}
$(this).stop().animate({
opacity: 1
}, 500);
$('.text').addClass('hide');
});
$('.item div').hover(function(e) {
return false;
}, function(e) {
return false;
});
});
注意,我将e
变量(它是事件变量)添加到函数中,以便我可以在函数内部使用它。当鼠标从img
标记移动到div
标记时,它会触发mouseout事件(鼠标悬停时的第二个函数)
您可以在这个函数中检查新元素是否是那个特定的div,如果是,则什么也不做
此代码将实现以下功能:
$(document).ready(function () {
$('.item a img').hover(function (e) {
id = '.' + $(this).attr("id");
$(this).stop().animate({
opacity: .2
}, 200);
$(id).removeClass('hide');
}, function (e) {
if (e.toElement == $(this).parents('.item').find('div')[0]) {
return;
}
$(this).stop().animate({
opacity: 1
}, 500);
$('.text').addClass('hide');
});
$('.item div').hover(function(e) {
return false;
}, function(e) {
return false;
});
});
注意,我将e
变量(它是事件变量)添加到函数中,以便我可以在函数内部使用它。当鼠标从img
标记移动到div
标记时,它会触发mouseout事件(鼠标悬停时的第二个函数)
您可以在这个函数中检查新元素是否是那个特定的div,如果是,则什么也不做
此代码将实现以下功能:
$(document).ready(function () {
$('.item a img').hover(function (e) {
id = '.' + $(this).attr("id");
$(this).stop().animate({
opacity: .2
}, 200);
$(id).removeClass('hide');
}, function (e) {
if (e.toElement == $(this).parents('.item').find('div')[0]) {
return;
}
$(this).stop().animate({
opacity: 1
}, 500);
$('.text').addClass('hide');
});
$('.item div').hover(function(e) {
return false;
}, function(e) {
return false;
});
});
注意,我将e
变量(它是事件变量)添加到函数中,以便我可以在函数内部使用它。当鼠标从img
标记移动到div
标记时,它会触发mouseout事件(鼠标悬停时的第二个函数)
您可以在这个函数中检查新元素是否是那个特定的div,如果是,则什么也不做
此代码将实现以下功能:
$(document).ready(function () {
$('.item a img').hover(function (e) {
id = '.' + $(this).attr("id");
$(this).stop().animate({
opacity: .2
}, 200);
$(id).removeClass('hide');
}, function (e) {
if (e.toElement == $(this).parents('.item').find('div')[0]) {
return;
}
$(this).stop().animate({
opacity: 1
}, 500);
$('.text').addClass('hide');
});
$('.item div').hover(function(e) {
return false;
}, function(e) {
return false;
});
});
注意,我将e
变量(它是事件变量)添加到函数中,以便在函数内部使用它。这也可以通过使用(纯CSS,无JS)来实现
这是我刚刚用一个工作示例从您的代码中编写的
以下是添加到其中的行:
.item img {
-webkit-transition: opacity 500ms;
transition: opacity 500ms;
opacity: 1;
}
.item:hover img {
opacity: 0.2;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.item:hover .hide {
display: block;
}
我不得不指向img而不是整个div(.item
),因为文本的不透明度也越来越低
希望这对您有所帮助。这也可以通过使用(纯CSS,无JS)来实现
这是我刚刚用一个工作示例从您的代码中编写的
以下是添加到其中的行:
.item img {
-webkit-transition: opacity 500ms;
transition: opacity 500ms;
opacity: 1;
}
.item:hover img {
opacity: 0.2;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.item:hover .hide {
display: block;
}
我不得不指向img而不是整个div(.item
),因为文本的不透明度也越来越低
希望这对您有所帮助。这也可以通过使用(纯CSS,无JS)来实现
这是我刚刚用一个工作示例从您的代码中编写的
以下是添加到其中的行:
.item img {
-webkit-transition: opacity 500ms;
transition: opacity 500ms;
opacity: 1;
}
.item:hover img {
opacity: 0.2;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.item:hover .hide {
display: block;
}
我不得不指向img而不是整个div(.item
),因为文本的不透明度也越来越低
希望这对您有所帮助。这也可以通过使用(纯CSS,无JS)来实现
这是我刚刚用一个工作示例从您的代码中编写的
以下是添加到其中的行:
.item img {
-webkit-transition: opacity 500ms;
transition: opacity 500ms;
opacity: 1;
}
.item:hover img {
opacity: 0.2;
-webkit-transition: opacity 200ms;
transition: opacity 200ms;
}
.item:hover .hide {
display: block;
}
我不得不指向img而不是整个div(.item
),因为文本的不透明度也越来越低
希望这对你有帮助