javascript - addClass 更改 bg-image 但在第一次加载时没有闪烁

标签 javascript jquery css preload

我在每个键盘按键上运行一个函数来监视文本字段。

根据输入,我使用 jquery .removeClass("classwithBGImage").addClass("classwithnewBGimage")

这工作得很好,预计在第一次加载时背景图像会闪烁。

我已经尝试使用 Javascript 和 CSS 预加载图像,甚至尝试使用 sprite - 但是当 .removeClass("classwithBGImage").addClass("classwithnewBGimage")被触发。

更新: 似乎是一个记录在案的 chrome 错误: http://code.google.com/p/chromium/issues/detail?id=102706

正如在这个 jsfiddle 中看到的:http://jsfiddle.net/QpvUQ/2/

有什么想法吗?非常感激。

最佳答案

将背景图像应用于绝对定位且 left:-99999pxdiv

#preload{
   background-image : url(large-image.png);
   position:absolute;
   left:-99999px;
}

稍后,将其用于实际的 div

.classwithnewBGimage{
  background-image : url(large-image.png);
}

这是我所知道的预加载图像的黑客之一,这样当您实际使用它们时就不会占用时间。


此外,没有参数的 .removeClass() 什么也不做。为避免闪烁,请使用平滑过渡。

.stylesWithoutImage{
 ///
}

.classwithnewBGimage{
//img
}

关于javascript - addClass 更改 bg-image 但在第一次加载时没有闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221183/

相关文章:

html - 为什么没有明确大小的 div 中的链接和文本会中断?

javascript - Grails:如何使 g:textfield 自动完成?

javascript - Google Apps 脚本正在将我的数组更改为字符串。为什么?

javascript - jquery 我的 else if 部分不起作用...出了什么问题?

javascript - knockout 错误 : You cannot apply bindings multiple times to the same element

javascript - 滚动不透明度转移到目标元素和从目标元素转移

javascript - AngularJS 对指令和模型的混淆

javascript - 从浏览器启动 dialer.exe?

JQuery:如果元素有文本,则将类添加到元素

html - 悬停 + div :show not working