js实现固定显示区域内自动缩放图片的方法


Posted in Javascript onJuly 18, 2015

本文实例讲述了js实现固定显示区域内自动缩放图片的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#img{ width:600px; height:400px; position:relative; overflow:hidden; background:#996699;}
</style>
</head>
<body>
<div id="img"><img src="dsds.JPG" onload="resize_img(this,600,400)" /></div>
</body>
</html>
<script type="text/javascript">
function resize_img(pic,w,h){
 var re_new_size=function(r){
 //根据比率重新计算宽度
  return {w:pic.width/r,h:pic.height/r};
  };
 var re_offset=function(n){
 //根据新的宽高度返回偏移量
  return {off_l:(n.w-w)*0.5,off_t:(n.h-h)*0.5};
  }; 
 var re_position=function(o,n){
 //重新定位图片
  pic.style.cssText="position:absolute;top:"+-o.off_t+"px;left:"+-o.off_l+"px;width:"+n.w+"px;height:"+n.h+"px;";
  }; 
 var execute=function(rate){
  var new_size=re_new_size(rate),
    offset_new=re_offset(new_size);
  re_position(offset_new,new_size);
  };
 var rate_of_w=pic.width/w,
   rate_of_h=pic.height/h,
   rate;
 if(rate_of_w>=1){
 //图片宽度大于显示区域宽度
    if(rate_of_h>=1){
    //且图片高度大于显示区域高度
    rate=Math.min(rate_of_w,rate_of_h);
    }else{
    //图片高度小于显示区域
     rate=pic.height/h;
     }
 }else{
 //图片宽度小于显示区域宽度
    if(rate_of_h>=1){
    //且图片高度大于显示区域高度
     rate=pic.width/w;
    }else{
    //图片高度小于显示区域高度
     rate=Math.min(rate_of_w,rate_of_h);
     }
   }  
 execute(rate);
 //执行入口  
 }
</script>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
可实现多表单提交的javascript函数
Aug 01 Javascript
Mootools 1.2教程 设置和获取样式表属性
Sep 15 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
javascript实现一个数值加法函数
Jun 26 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
原生js轮播特效
May 18 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
Sep 07 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 Javascript
原生js实现下拉选项卡
Nov 27 Javascript
angula中使用iframe点击后不执行变更检测的问题
May 10 Javascript
javascript顺序加载图片的方法
Jul 18 #Javascript
javascript字符串循环匹配实例分析
Jul 17 #Javascript
动态加载jQuery的两种方法实例分析
Jul 17 #Javascript
javascript父子页面通讯实例详解
Jul 17 #Javascript
javascript实现的闭包简单实例
Jul 17 #Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 #Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 #Javascript
You might like
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
php字符串截取问题
2006/11/28 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
thinkPHP查询方式小结
2016/01/09 PHP
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
window.onload使用指南
2015/09/13 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
Javascript Promise用法详解
2018/05/10 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
python二维图制作的实例代码
2020/12/03 Python
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
派出所所长先进事迹
2014/05/19 职场文书
作文评语怎么写
2014/12/25 职场文书
大学毕业生自我评价
2015/03/02 职场文书
电影雷锋观后感
2015/06/10 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS