var imgHoverReplaceSrc = { init : function(sel) { this.sel = sel || "img"; this.imgList = document.querySelectorAll(sel); this.work(); }, work : function() { var _this = this; this.imgList.forEach(function(item) { item.addEventListener("mouseenter", function() { _this.changeSrc(item) }); item.addEventListener("mouseleave", function() { _this.changeSrc(item) }); }); }, changeSrc : function(item) { if (item.getAttribute('data-src')) { var tmpSrc = item.src; item.src = item.getAttribute('data-src'); item.setAttribute('data-src', tmpSrc); } } } imgHoverReplaceSrc.init("img");<div class="sexangle_1"> <img alt="" src="/ehouse/img/item/tourism/yzyj.png" data-src="/ehouse/img/item/tourism/yzyj2.png"> <img alt="" src="/ehouse/img/item/tourism/zjwh.png" data-src="/ehouse/img/item/tourism/zjwh2.png "> </div>
2 回答

慕码人8056858
TA贡献1803条经验 获得超6个赞
IE 11 报错:
SCRIPT438: 对象不支持“forEach”属性或方法
用循环替换forEach是一个可行的解决方案:
for (let i = 0; i < _this.imgList.length; i++) {
let img = _this.imgList[i];
img.addEventListener("mouseenter", function () {
_this.changeSrc(img);
});
img.addEventListener("mouseleave", function () {
_this.changeSrc(img);
})
}
添加回答
举报
0/150
提交
取消