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);
// 设定等比例缩放后的高度
相关文档:
很多人都用过AJAX控件吧,AJAX控件不需要刷新页面就可以到后台去读出数据到客户端.AJAX控件除了有很炫的特效外,其要功能就是不需要刷新整个页面就可以取得用户所需要的数据,我把这一块的的功能封装成一个类,方便日后可以重复使用,代码如下:
//Ajax Request Class Start
functio ......
注意:最好不要使用isNaN()方法,因为如果一个字符是空格的情况下,它也会把它当成数字.你必须处理空格的问题了.
呵呵,其实处理空格的问题也不难,更简单的方法处理数字问题如下:
-------------
function isNumber(str){
var mynumber="0123456789";
for(var i=0;i<str.len ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<mce:style type="text/css"><!--
div#show { float: right; color: blue; }
--></mce:style><style type="text/css" mce_bogus=" ......
在JavaScript中利用document.referrer可以获得跳转前上一页的地址,其实在诸如Asp,PHP等语言中都可以获得这个参数,只不过写法不同,然后可以判断是哪里来的请求从而做一些处理.但是JS中的document.referre只能获得<a>标签传过来的参数.看代码
a.html
<html>
<head>
<title>测试</title> ......
1.创建节点并添加内容:使用的方法:createElement和createTextNode
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>HTML DOM</title>
&nbs ......