更改img src属性是否会发出任何发射器?
Does changing an img src attribute emit any emitters?
我在一个页面上工作,其中有不同大小的图像,我想改变父div的大小根据新的图像的高度。
我将inner
, viewOne
和viewTwo
设置为全局变量,我的代码如下:
viewOne.src = 'path/to/newImage.png';
viewTwo.src = 'path/to/otherImage.png';
inner = document.getElementById('innerWindow'); // Parent Div
viewOne = document.getElementById('viewImgOne'); // Image Object
viewTwo = document.getElementById('viewImgTwo'); // Image Object
if(viewOne.clientHeight >= viewTwo.clientHeight) {
inner.style.height = viewOne.clientHeight + "px";
} else {
inner.style.height = viewTwo.clientHeight + "px";
};
父div在更改图像路径后并不总是正确地调整自己的大小,因此div底部可能会有几百个像素剩余,而这些像素本来不应该在那里。
如果浏览器窗口发生变化,我也有一个window.onresize
函数来调整div的大小,并且它按预期工作。
是否有办法观看src
,并在图像完全加载后运行调整大小功能?
解决此问题的一种方法是为所有图像绑定.load事件,然后在src更改后,您将知道图像何时完成加载。我不确定是否有更直接的方法来观察src的变化。但是,为了使其一致工作,您需要在任何内容触及image元素的.src.
之前绑定.load。如果你是动态创建图像元素,这应该不是一个问题,或者如果你是重复使用相同的图像标签一遍又一遍,这应该不是一个问题(除了最初的第一次加载在页面加载,但你可能不需要担心这个?)
相关文章:
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- Focus()在任何导航器中都不起作用
- Javascript事件发射器一次处理多个事件
- 无法模拟在 node.js 中使用事件发射器刺激的类中的函数
- 试图让Facebook发射器工作
- Node.js+Mocha+Should.js如何测试事件发射器抛出的错误
- 事件发射器模式如何在Node,sockets.io中工作
- 如何使对象属性函数成为事件发射器
- 发射器node.js中的发射器
- 您应该如何从节点中的事件发射器继承
- 其他模块中的节点事件发射器
- Angular 2 ES6/7事件发射器更新其他组件
- 绑定事件发射器上的单个事件
- 在模块之间共享的事件发射器
- 将数据追加到所有 Socket.io 客户端发射器
- 为什么在传递/公开事件发射器时需要包装我的事件发射器的 on 函数
- 事件发射器与在 AngularJs 中更新大型数据集时的$watch
- 节点:建立连接时备份 socket.io 自定义发射器
- 如何在node中编写事件发射器.js让你创建一个函数“myFunction”,然后在运行时调用成功或失败
- 更改img src属性是否会发出任何发射器?