我有一个有点烦人的问题......我有一个JS函数可以切换某个事件(点击)上元素的图像。此功能在多个页面上执行。
在js中,我有类似的情况:
img.style.backgroundImage = 'url(../assets/img.png)';
当从一个存在于不同文件夹中的文件调用该函数时,一切都工作正常...文件夹结构如下:
请注意索引文件位于父文件夹中?当我从这个index.html文件执行函数时,无法找到图像(由于'../'而JS正在查找父文件夹之外),但它适用于html文件夹中的所有其他页面,因为相对路径查找将发送到父文件夹,然后进入资产...
无论如何,我可以做到这一点,而不必采用其他完全不同的方法?我知道我可以在这里依赖一些CSS,添加和删除类来切换图像而不是直接更改图像源......
奇怪的是,相对路径从css起作用,其中css表现为路径查找器的锚点...但是如果你使用JS来改变css属性,那么html文件就成了锚......
答案 0 :(得分:0)
img.style.backgroundImage = 'url("assets/img.png")';
答案 1 :(得分:0)
创建相对于网站的路径而不是当前页面或样式表。
在CSS中包含相对url时,url是相对于CSS的url,我假设它位于assets文件夹中。
img.style.backgroundImage = 'url("/assets/img.png")';