Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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 使用背景图像css属性时在div中闪烁图像_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用背景图像css属性时在div中闪烁图像

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

我的网页中有两个div,这是用户可以选择的两个可能选项。我用css(背景图像)设置每个div背景。当站点加载时,图像将预加载。有两种可能的状态,当选择的xxx\u image\u enabled.png被设置为背景图像时,当未选择该选项时,xxx\u image\u disabled.png被设置为背景图像。在某些浏览器(Chrome)中,它会闪烁一点。我使用jQuery设置背景图像属性

css如下所示:

.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代码吗?