为了账号安全,请及时绑定邮箱和手机立即绑定

js写的鼠标覆盖,更改图片,为什么只在chrome中有效呀,360跟搜狗都没反应?

js写的鼠标覆盖,更改图片,为什么只在chrome中有效呀,360跟搜狗都没反应?

慕妹3146593 2019-03-14 18:12:54
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);

    })

}


查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 548 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号