Javascript 使用JQuery转换背景图像时出现问题 编辑
我发现它实际上正在淡出,它只是在开始淡出之前删除了背景图像,所以我看不到它…嗯。我刚刚删除了Javascript 使用JQuery转换背景图像时出现问题 编辑,javascript,jquery,html,css,css-transitions,Javascript,Jquery,Html,Css,Css Transitions,我发现它实际上正在淡出,它只是在开始淡出之前删除了背景图像,所以我看不到它…嗯。我刚刚删除了.css('background',''),所以它现在就消失了。不过,我的一些css样式仍然没有影响它。不知何故,它得到了一个背景重复:初始放在覆盖类样式的上面。这是因为js是根据其样式进行操作的吗 原件: 我已经阅读了这里的其他一些问题,它们帮助我走到了这一步,但我仍然没有看到解决方案 我在悬停时背景图像褪色时遇到问题。我将图像URL存储为链接列表的数据属性。当您将鼠标悬停在链接上时,通过jquery
.css('background','')
,所以它现在就消失了。不过,我的一些css样式仍然没有影响它。不知何故,它得到了一个背景重复:初始代码>放在覆盖类样式的上面。这是因为js是根据其样式进行操作的吗
原件:
我已经阅读了这里的其他一些问题,它们帮助我走到了这一步,但我仍然没有看到解决方案
我在悬停时背景图像褪色时遇到问题。我将图像URL存储为链接列表的数据属性。当您将鼠标悬停在链接上时,通过jquery将另一个div的背景设置为相应的图像
我已经得到了要分配的背景图像,添加了一个类使其可见。它的工作原理是淡入淡出。当我在chrome开发工具中手动删除visibility类时,它会按预期淡出,但当jquery删除它时不会。其他“背景”-css样式也不起作用,除非我添加一个!重要的。但我不知道是什么压倒了他们
HTML
JS
您需要稍微更改JS代码,使用backgroundImage
而不是background
来设置图像,并且当mouseleave
时,不要删除backgroundImage
,只删除类。应该是:
$(document).ready(function() {
$('.item').mouseenter(function() {
$('.backdrop').css('backgroundImage','url('+$(this).data("img")+')').addClass('visable');
});
$('.item').mouseleave(function() {
$('.backdrop').removeClass('visable');
});
});
小提琴:
.backdrop {
width:450px;
height:400px;
opacity: 0;
-webkit-transition: opacity 0.75s;
transition: opacity 0.75s;
background-position:center;
background-repeat: no-repeat;
}
.visable{
opacity:1;
}
$(document).ready(function() {
$('.item').mouseenter(function() {
$('.backdrop').css('background','url('+$(this).data("img")+')').addClass('visable');
});
$('.item').mouseleave(function() {
$('.backdrop').css('background', '').removeClass('visable');
});
});
$(document).ready(function() {
$('.item').mouseenter(function() {
$('.backdrop').css('backgroundImage','url('+$(this).data("img")+')').addClass('visable');
});
$('.item').mouseleave(function() {
$('.backdrop').removeClass('visable');
});
});