繁体   English   中英

如何使用Javascript在新窗口中放大图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM