Javascript 使用背景图像css属性时在div中闪烁图像
我的网页中有两个div,这是用户可以选择的两个可能选项。我用css(背景图像)设置每个div背景。当站点加载时,图像将预加载。有两种可能的状态,当选择的xxx\u image\u enabled.png被设置为背景图像时,当未选择该选项时,xxx\u image\u disabled.png被设置为背景图像。在某些浏览器(Chrome)中,它会闪烁一点。我使用jQuery设置背景图像属性 css如下所示:Javascript 使用背景图像css属性时在div中闪烁图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的网页中有两个div,这是用户可以选择的两个可能选项。我用css(背景图像)设置每个div背景。当站点加载时,图像将预加载。有两种可能的状态,当选择的xxx\u image\u enabled.png被设置为背景图像时,当未选择该选项时,xxx\u image\u disabled.png被设置为背景图像。在某些浏览器(Chrome)中,它会闪烁一点。我使用jQuery设置背景图像属性 css如下所示: .option-div{ width: 70px; height: 7
.option-div{
width: 70px;
height: 70px;
background-position: center;
background-size: contain;
background-repeat: no-repeat;
margin: 0 auto;
}
知道是什么引起了闪烁吗?刷新后,它将消失。jQuery很可能导致事件重复。为了解决这个问题,我建议在函数中使用jQuery.stop 考虑:
$("#option-div").stop(true,false).animate({ //this is assuming you are using animate, swap this out for the event you are using
//只是为了让您知道,如果将其设置为false,false它将跳过事件并直接转到完成的结果,在这种情况下,动画将不会触发
也可以考虑使用if语句来防止事件被调用,如果它已经被激活了。 考虑:
if($("#option-div").not(':animated')){
else { // your code here
如果您提供jQuery代码,将更容易理解问题并为您提供帮助,我会发表评论,但目前还没有50个代表。尽量避免在脚本中设置原始样式,以保持代码不引人注目且相互分离。您可以在CSS中设置背景图像,然后在稍后的jQuery中更改其值 不确定HTML是如何设置的,但要确保在按HTML顺序加载脚本之前先加载CSS。如果先加载脚本,则会出现一些渲染问题。将您的
或
放在使用它的
之前
我只是猜测这些建议,因为我看不到jQuery代码。创建一个提琴。这将有助于理解问题。您可以粘贴jquery代码吗?