使用JS脚本动态调整网页图片大小
作者:我就是个世界
发表于:2009-05-05
如何在网页中添加限制图片显示尺寸的功能,要求如下:
[quote]大于640像素宽、480像素高的图片,全部以640*480规格显示
小于640像素宽、480像素高的图片,以原尺寸显示
点击该图片时,弹出新窗口打开原图[/quote]
实现该功能大致思路有二:
[b]服务器端方案:[/b]利用程序读取图片大小,重新计算后宽和高设置到img标签的属性中,并输出链接
[b]客户端方案:[/b]提取网页中图片,重新计算宽和高后直接修改其属性。
鉴于服务器端方案难度较大,并且会增加负荷,遂为其作JavaScript脚本如下:
[color=#FF0000]resizeImages.js[/color][separator]
--------------------------------------------------------------------------------
[code]//注册事件,窗体加载完成后开始执行逻辑
window.onload = function() {
//遍历文档中的图片
for (var index = 0; index < document.images.length; index++) {
//定义要限制的图片宽高
var widthRestriction = 640;
var heightRestriction = 480;
//开始调整尺寸
if (document.images[index].width > widthRestriction) {
document.images[index].width = widthRestriction;
} else if (document.images[index].height > heightRestriction) {
document.images[index].height = heightRestriction;
}
//注册事件,点击在新窗口打开原图
document.images[index].onclick = function() {window.open(this.src)};
document.images[index].title = document.images[index].title + ' 点击在新窗口中查看原图';
}
}[/code]
--------------------------------------------------------------------------------
此代码未必适用于所有网页,因为它会把页面内的所有图片进行调整,若要借用还需修改修改。
[quote]大于640像素宽、480像素高的图片,全部以640*480规格显示
小于640像素宽、480像素高的图片,以原尺寸显示
点击该图片时,弹出新窗口打开原图[/quote]
实现该功能大致思路有二:
[b]服务器端方案:[/b]利用程序读取图片大小,重新计算后宽和高设置到img标签的属性中,并输出链接
[b]客户端方案:[/b]提取网页中图片,重新计算宽和高后直接修改其属性。
鉴于服务器端方案难度较大,并且会增加负荷,遂为其作JavaScript脚本如下:
[color=#FF0000]resizeImages.js[/color][separator]
--------------------------------------------------------------------------------
[code]//注册事件,窗体加载完成后开始执行逻辑
window.onload = function() {
//遍历文档中的图片
for (var index = 0; index < document.images.length; index++) {
//定义要限制的图片宽高
var widthRestriction = 640;
var heightRestriction = 480;
//开始调整尺寸
if (document.images[index].width > widthRestriction) {
document.images[index].width = widthRestriction;
} else if (document.images[index].height > heightRestriction) {
document.images[index].height = heightRestriction;
}
//注册事件,点击在新窗口打开原图
document.images[index].onclick = function() {window.open(this.src)};
document.images[index].title = document.images[index].title + ' 点击在新窗口中查看原图';
}
}[/code]
--------------------------------------------------------------------------------
此代码未必适用于所有网页,因为它会把页面内的所有图片进行调整,若要借用还需修改修改。
请发表您的评论