Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Flash文本对图像的影响_Javascript_Html_Css - Fatal编程技术网

Javascript Flash文本对图像的影响

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

问题是,当我将鼠标移到图像上时效果很好,但如果我将鼠标移到标题上,则会闪烁。例如:

Mi代码为:

$(文档).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
),因为文本的不透明度也越来越低

希望这对你有帮助