javascript - 在悬停时更改背景图像时防止浏览器闪烁

标签 javascript jquery html css

正在寻找一种方法来在将鼠标悬停在特定元素上时在两个背景图像之间平滑过渡?我已经尝试了所有我能想到的方法。

背景图片样式为:

padding: 0
margin: 0
border: 0
background: #232930 url(../inc/alfaExt.jpg) 0 0 fixed
-webkit-background-size: cover
-moz-background-size: cover
-o-background-size: cover
background-size: cover
background-repeat: no-repeat
transition: background .3s

这是 Js:

$('.siteButton').hover(function(){
    $('body').css({'background': '#232930 url(../inc/' + this.id +   'Ext.jpg)'});
});

当我在元素之间快速切换时,浏览器一直闪烁白色。我已经删除了过渡并将图像预加载到浏览器缓存中,但没有成功。

我知道 sprite/position 解决方案,但我需要这些图像来完全填充 body 而不重复。我对 Sprite 所做的每项测试都没有成功。

最佳答案

可以在图片交易中加入动画,试试

$('.siteButton').hover(function(){
$('body').css({'background': '#232930 url(../inc/' + this.id +   'Ext.jpg)'}).fadeIn(200);

});

关于javascript - 在悬停时更改背景图像时防止浏览器闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42680053/

相关文章:

javascript - 使用 BootstrapDialog 进行 Bootstrap 切换

javascript - Bootstrap 4 崩溃在一半停止然后打开时无法顺利工作

html - 强制输入默认外观[类型 ="submit"]

javascript - Ember js - 文件上传组件 - 在第二次尝试上传同一文件时强制触发更改事件

javascript - 无法获取extjs窗口中checkboxgroup的值

javascript - 从子窗口访问父窗口 Angular 范围

JavaScript 函数在 Mozilla 中不起作用

javascript - TypeError t.apply 不是函数

javascript - 单击按钮两次即可实现多种功能

javascript - 使 div-section 出现基于事件