[英]How to enlarge an image in a new window using Javascript
我已经看到许多使用jQuery的解决方案,但我只需要使用Javascript即可。 我正在尝试编写一个脚本,该脚本将onclick侦听器附加到页面上的每个图像,并具有在新窗口中以两倍于其宽度和高度打开被单击图像的功能。 我遇到的问题是,页面加载时会打开新窗口,而不是单击图像时打开,并且新窗口的图像源显示为“ undefined”,宽度和高度显示为“ NaN”。 这是我的.js:
var x = document.images;
var imageWindow;
function magnify() {
for (var i = 0; i < x.length; i++) {
x[i].addEventListener('click', launchWindow(this), false);
}
}
function launchWindow(img) {
var h = img.height * 2.0;
var w = img.width * 2.0;
imageWindow = window.open();
imageWindow.document.write("<html><head><title>Image</title></head><body><img src=" + img.src + " width=" + w + " height=" + h + " alt='Magnified image'></body></html>");
if(window.focus) {
imageWindow.focus;
}
}
以及我的测试页的相关HTML:
您分配事件处理程序的循环实际上正在运行事件处理程序,而不是分配它。 尝试这样做:
x[i].addEventListener('click', function() { launchWindow(this) }, false);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.