易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript动态调整图片尺寸

在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。
我前段时间写的一篇文章就遇到过这种事情,后来用CSS的overflow和max-width属性暂时解决了页面变形的问题。这种方法好处是简单,但坏处是会破坏某些细节的效果。
如overflow:hidden,意思是当内部元素宽度大于父框架时隐藏超出宽度的部分。这样做可能会是一些内容突然截断,被隐藏了,很对不起观众。
通过max-width属性限制文章插图最大宽度的话,需要考虑各浏览器的兼容性。IE6是不支持这个属性的,在我印象中,一些浏览器虽然支持这个属性,但图片不是等比缩放的(好像是Safari和Opera,记不清了),这样做的话对这些浏览器的用户很不公平。
因此,我最终选择的是通过JavaScript动态改变图片尺寸。这种方法对各种浏览器兼容性良好(现在应该很少人会禁用JavaScript吧?),如果换主题的话,也可以灵活地改变文章插图的最大尺寸。
方案有两个,由于我使用的主题是加载了jQuery库的,因此可以用以下代码实现:
以下为引用的内容:
$(document).ready(function()
{
$('.post img').each(function()
{
var maxWidth =
100;
// 图片最大宽度
var maxHeight =
100;
// 图片最大高度
var ratio =
0;
// 缩放比例
var width = $(this).width();
// 图片实际宽度
var height = $(this).height();
// 图片实际高度
 
// 检查图片是否超宽
if(width > maxWidth){
ratio = maxWidth / width;
// 计算缩放比例
$(this).css("width", maxWidth);
// 设定实际显示宽度
height = height * ratio;
// 计算等比例缩放后的高度
$(this).css("height", height * ratio);
// 设定等比例缩放后的高度
}
 
// 检查图片是否超高
if(height > maxHeight){
ratio = maxHeight / height;
// 计算缩放比例
$(this).css("height", maxHeight);
// 设定实际显示高度
width = width * ratio;
// 计算等比例缩放后的高度
$(this).css("width", width * ratio);
// 设定等比例缩放后的高度


相关文档:

document 文挡对象详解(JavaScript脚本语言描述)

[注:页面上元素name属性和JavaScript引用的名称必须一致包括大小写,否则会提示你一个错误信息 "引用的元素为空或者不是对象"]
========================================================================
对象属性:
document.title             //设置文 ......

javascript 常用的55个技巧

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return f ......

Javascript Closures

Javascript Closures
Introduction
The Resolution of Property Names on Objects
Assignment of Values
Reading of Values
Identifier Resolution, Execution Contexts and Scope Chains
The Execution Context
Scope chains and [[scope]]
Identifier Resolution
Closures
Automatic Garbage Collecti ......

JavaScript获得上一页地址

在JavaScript中利用document.referrer可以获得跳转前上一页的地址,其实在诸如Asp,PHP等语言中都可以获得这个参数,只不过写法不同,然后可以判断是哪里来的请求从而做一些处理.但是JS中的document.referre只能获得<a>标签传过来的参数.看代码
a.html
<html>
<head>
<title>测试</title> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号