智能链接资源?

时间:2011-05-29 02:55:09

标签: javascript

我有一个有点烦人的问题......我有一个JS函数可以切换某个事件(点击)上元素的图像。此功能在多个页面上执行。

在js中,我有类似的情况:

img.style.backgroundImage = 'url(../assets/img.png)';

当从一个存在于不同文件夹中的文件调用该函数时,一切都工作正常...文件夹结构如下:

  • /项目
    • /资产
    • / HTML
    • / JS
    • 的index.html

请注意索引文件位于父文件夹中?当我从这个index.html文件执行函数时,无法找到图像(由于'../'而JS正在查找父文件夹之外),但它适用于html文件夹中的所有其他页面,因为相对路径查找将发送到父文件夹,然后进入资产...

无论如何,我可以做到这一点,而不必采用其他完全不同的方法?我知道我可以在这里依赖一些CSS,添加和删除类来切换图像而不是直接更改图像源......

奇怪的是,相对路径从css起作用,其中css表现为路径查找器的锚点...但是如果你使用JS来改变css属性,那么html文件就成了锚......

2 个答案:

答案 0 :(得分:0)

img.style.backgroundImage = 'url("assets/img.png")';

答案 1 :(得分:0)

创建相对于网站的路径而不是当前页面或样式表。

在CSS中包含相对url时,url是相对于CSS的url,我假设它位于assets文件夹中。

  img.style.backgroundImage = 'url("/assets/img.png")';
相关问题