【问题标题】:changing background-image property on-the-fly即时更改背景图像属性
【发布时间】:2023-03-25 14:00:01
【问题描述】:

它适用于 Firefox,但不适用于 Chrome:通过 jQuery 更改 css 属性“背景图像”。

我正在尝试为我的网站设计主题风格,并且我已经设置了一些颜色选项,但 background-image 属性似乎无法通过 Chrome 中的处理程序 .css 进行更改

$('#h_background').css('background-image',"url('backgrounds/h_"+currentTheme+".png'");

然而,它在 FF 中运行良好;有什么建议=)?

edit:加载将 background-image 属性定义为其他内容的新样式表可以正常工作。我确实觉得很奇怪,明确声明它似乎不起作用 =(

【问题讨论】:

  • 谷歌浏览器的控制台(CTRL+SHIFT+J)有什么问题吗?
  • 请创建一个 pared-down 工作示例来显示您的问题并将其放到网上,最好放在像 jsfiddle.net 这样的地方,这不仅可以帮助我们找到您的问题,您可能会在缩减代码的过程中发现您的问题。
  • 您在 .png' 之后的 url 末尾缺少一个 )。它应该是 "url('backgrounds/h_"+currentTheme+".png')"。可能是问题的原因。
  • @devius:你用那个震撼了我的世界。解决一切耶!
  • @sova 我知道有点晚了,但我应该在下面添加正确答案吗?

标签: css firefox google-chrome background-image


【解决方案1】:

您在 .png' 之后的网址末尾缺少 )。应该是

"url('backgrounds/h_"+currentTheme+".png')"

【讨论】:

    【解决方案2】:

    尝试将代码包装在加载事件中:

    $(window).load(function(){
      // your code for the image
    });
    

    【讨论】:

    • 看起来不像,但是当输入我知道在脚本中声明的变量名时,chrome 抱怨它们未定义。 Chrome 使用 .attr() 方法更改常规图像,但 background-image 因任何原因无法正常工作
    猜你喜欢
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多