先要明确自己的相对位置在哪,这个是需要人为指定的。
核心代码如下:
var res=document.getElementById("img").src
var root_href='根目录路径'
res=document.getElementById("img").src.replace(root_href,'')
用jquery方法
var res=$("#img").attr("src")
res=res.substring(res.indexOf("根")+2)
更多关于在上传文件的过程得到完整路径的方法请参考如下:
file.select()
var res=document.selection.createRange().text
var res=file.files.item(0).getAsDataURL()
var res=file.value
js 并没有什么获取相对、绝对路径的区别,你的问题是每次执行 y_s(ev) 的时候都会重新设置 src:ev.dataTransfer.setData("img",ev.target.src)而这里设置的就是ev.target.src获取全路径去从新设置的,所以你得不到正确的值,不是i=16,不一定的,看你移动了哪里
改变一下你获取值的方法就行,根据你路径的特点,这样获取:
var a = src.split("_")[1].split(".")[0]
这样不管是什么路径,就都没关系了。
可以。因为javascript主要操作 html 中src 和 href 属性、css中的background。
js引用相对路径的图片其实是改变html中的 img 或者css中的background等元素。