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写的一个链表实现代码
Oct 25 Javascript
JavaScript类和继承 prototype属性
Sep 03 Javascript
jQuery实现密保互斥问题解决方案
Aug 16 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
Nov 27 Javascript
JavaScript中字面量与函数的基本使用知识
Oct 20 Javascript
轻松实现Bootstrap图片轮播
Apr 20 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
Jun 09 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
layui use 定义js外部引用函数的方法
Sep 26 Javascript
在Vuex中Mutations修改状态操作
Jul 24 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
php结合飞信 免费天气预报短信
2009/05/07 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
php设计模式之委托模式
2016/02/13 PHP
php微信支付接口开发程序
2016/08/02 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python实现全排列的打印
2018/08/18 Python
django 控制页面跳转的例子
2019/08/06 Python
Python实现把类当做字典来访问
2019/12/16 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
Python request post上传文件常见要点
2020/11/20 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
教师节学生演讲稿
2014/09/03 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript