易截截图软件、单文件、免安装、纯绿色、仅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);
// 设定等比例缩放后的高度


相关文档:

JavaScript HashTable

/**
* 自己的 HashTable
* 愿脚本神力与你同在
*/
function HashTable(){
var values = {};

/** 将值插入 HashTable 中 **/
this.put = function(key, value){
if(key in values){
return false;
}
values[key] = value;
}
/** 根据 key 返回 value **/
this.find = function(key){
ret ......

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

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

推荐兼容 IE、 FireFox 的 javascript 日历控件

推荐兼容 IE、 FireFox 的 javascript 日历控件
原创作者:寒羽枫(cityhunter172) 
一、简介与声明
            此日历控件是 CSDN 网友 KimSoft  的作品:http://blog.csdn.net/kimsoft/archive/2006/05/24/753225.aspx  。界面清爽,纯 ......

(学习笔记)JavaScript中调用函数的括号问题

 我在js中定义了一个函数:
 function closeCodeList()
{
try
{
showFistIndex = 0;
arrayBmCode = null;
if(document.all("spanCode").style.display=='')
{
var disFlag=1;
}
document.all("spanCode").style.display='none';
try{if(disFlag)oldFieldKey.focus();}catch(ex){}
}
c ......

javascript将字符串类型转换为XML对象

try { //Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(data);
} catch(e) { //Other Browsers
parser=new DOMParser();
xmlDoc=parser.parsefromString(data,"text/xml");
} ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号