`

js控制图片在规定范围内以长宽比例自适应显示

 
阅读更多

当图片在页面显示时,如果宽度大于高度且大于显示区域宽度那么以宽度为准等比缩放;如果高度大于宽度且大于显示区域高度那么以高度为准;若大者都小于显示区域对应尺寸时,不用缩放只用居中显示;要实现这个功能的话可以上传的时候用程序对图片裁切,而这里要将的是用js在web端实现此功能,其实很简单,js代码如下:

// JavaScript Document
function changeImgSize(target){
	//外框宽
	maxWidth = parseInt($(target).parent().css("width").replace(/px/,""));
	//外框高
	maxHeight = parseInt($(target).parent().css("height").replace(/px/,""));
	//图片宽
	imgWidth = target.offsetWidth;
	//图片高
	imgHeight = target.offsetHeight;
	
	
	var viewWidth,viewHeight;
	
	if (imgWidth / maxWidth > imgHeight / maxHeight){
		if (imgWidth > maxWidth){
			viewWidth = maxWidth;
			viewHeight = maxWidth / imgWidth * imgHeight;
			$(target).css("margin-top",(maxHeight - viewHeight) / 2);
		}else{
		    viewWidth = imgWidth;
			viewHeight = imgHeight;
			$(target).css("margin-top",(maxHeight - viewHeight) / 2);
			$(target).css("margin-left",(maxWidth - viewWidth) / 2);
		}
	}else if (imgWidth / maxWidth < imgHeight / maxHeight){
		if (imgHeight > maxHeight){
			viewHeight = maxHeight;
			viewWidth = maxHeight / imgHeight * imgWidth;
			$(target).css("margin-left",(maxWidth - viewWidth) / 2);
		}else{
		    viewWidth = imgWidth;
			viewHeight = imgHeight;
			$(target).css("margin-top",(maxHeight - viewHeight) / 2);
			$(target).css("margin-left",(maxWidth - viewWidth) / 2);
		}
		
	}
	$(target).css("width",viewWidth);
	$(target).css("height",viewHeight);
}


(function($) {
    $.fn.extend({
        reSize: function() {
			return this.each(function () {
                changeImgSize(this);
            });
        }
     });
})(jQuery);

 页面图片显示代码如下:

 

<div class="imgdiv"><img src="images/index_b.jpg" ></div>

 对应的样式如下:

.piclist .imgdiv {
width: 122px;
height: 92px;
float: left;
overflow: hidden;
}

 

分享到:
评论

相关推荐

    个性化Select,长宽可自适应

    可以使用媒体查询(`@media`)来根据屏幕尺寸调整Select的大小和样式,比如在小屏设备上可以设置Select的宽度为100%,以适应全屏显示。 此外,如果希望Select的高度也能够自适应,可能需要借助JavaScript进行动态计算...

    kindEditor4.1版修改上传图片宽高(图片自适应)

    为了改善用户体验,我们需要实现图片自适应功能,即无论页面如何缩放或在不同分辨率的设备上展示,图片都能够保持原有的比例并完整显示。 具体需求如下: - 图片宽度能够自动根据容器(如浏览器窗口)的宽度调整,...

    自适应图片大小比例的3D立体图片展示效果

    然后,我们可以计算出图片的长宽比,将这个比例应用到图片的容器元素上,确保图片在任何情况下都能按比例填充。为了防止图片失真,我们通常会设置容器的宽度为固定值,而高度则根据图片比例自动调整,或者反之。 在...

    QT widget控件自适应窗口大小,修改比例

    在设计用户界面时,我们常常需要使这些控件能够自适应窗口大小的变化,以便于在不同分辨率的屏幕上提供良好的显示效果。本文将详细讲解如何实现QT Widget控件的自适应窗口大小以及调整其比例。 首先,我们需要了解...

    <CSS强制图片自适应大小>

    这种方法非常适合用于使图片在不同的屏幕尺寸下自适应显示。 #### 二、自适应图片的基本方法 ##### 1. 使用`max-width` 为了确保图片在任何情况下都不会超过其原始尺寸,可以使用`max-width: 100%;`。这会确保...

    html图片自适应手机屏幕大小的css写法

    首先,我们注意到文件中提供了一段CSS代码,它被用于控制页面元素在手机屏幕上的显示。这段代码定义了一组样式规则,影响了多个HTML元素,包括图片元素(img)。核心目标是确保这些元素能够适应不同尺寸的屏幕,从而...

    javascript 写的一个图片自动适应长宽比列的函数

    本文将深入探讨一个JavaScript函数,该函数能够确保在网页上加载的图片能够根据容器大小自动调整其尺寸,同时保持原始的长宽比例不变,从而避免图片在显示过程中出现变形或拉伸的情况。 #### 函数定义与参数说明 此...

    canvas图片旋转自适应容器宽度实践

    本实践主要探讨的是如何使用Canvas实现图片的旋转,并在每次旋转90度后自动调整宽度以适应容器,保持等比缩放,确保图片不失真。 首先,我们需要在HTML中创建一个`&lt;canvas&gt;`元素,并设置其宽度和高度,以及关联一个...

    聊天气泡背景自适应内容宽度高度

    2. **响应式设计**:为了确保在不同设备和屏幕尺寸上都能良好显示,可以结合使用媒体查询(`media queries`)来调整气泡的样式。 3. **JavaScript或jQuery**:如果需要更动态的效果,可以使用JavaScript或者jQuery...

    Iframe 框架自适应被嵌入页面高度

    总结来说,通过JavaScript控制Iframe自适应被嵌入页面的高度,可以有效地解决内容显示不全的问题。这涉及到对DOM操作、事件监听、以及跨域通信的理解。同时,我们还需要关注浏览器兼容性,确保在不同的环境下都能...

    Android软件自适应屏幕技巧

    如果应用设置了`Android:anyDensity="false"`,那么系统将会自动缩放图片尺寸和坐标,以确保在不同密度的屏幕上显示一致。 3. **兼容模式显示在大屏幕**:这种方式主要用于解决小屏幕应用在大屏幕设备上的显示问题。...

    自适应长宽生成缩略图PHP GD代码

    根据提供的标题、描述、标签及部分内容,我们可以梳理出一个关于如何使用PHP与GD库自适应地生成固定尺寸的缩略...在实际开发过程中,还需要注意处理异常情况,例如图片不存在、权限问题等,确保代码的健壮性和稳定性。

    在ASPX中之用的图片新闻切换插件,Silverlight做好的,有例子,长宽真正意义上完全自适应

    这意味着无论用户是在大屏幕显示器上还是在移动设备上查看,图片新闻都能以最佳比例显示,提供良好的用户体验。 标签中的“Silverlight”再次强调了这个插件的技术基础,而“图片新闻切换”则明确了它的功能,即...

    通过JS自动调整图片的大小以适应div的高和宽

    在网页设计中,图片的展示效果对于用户体验至关重要。有时候,我们希望图片能够自动调整大小以适应其所在的div容器,同时保持原始的...这不仅提高了页面的响应性,还能确保图片在各种屏幕尺寸下都有良好的显示效果。

    NGUI屏幕自适应

    NGUI 2.6.3提供了屏幕自适应功能,使得UI能在不同设备上正确显示。 1. **创建项目和场景**:首先,你需要在Unity中创建一个新的项目,并导入NGUI 2.6.3库。这个版本的NGUI与Unity 4.1.x兼容。 2. **引入NGUI组件**...

    技巧181掌握绘图区的长宽比例共2页.pdf.zip

    标题"技巧181掌握绘图区的长宽比例共2页.pdf.zip"揭示了这个知识点的重点,即如何有效地控制和调整绘图区域的比例,以达到最佳的视觉效果和准确性。描述中的"共2页"提示我们,这个主题可能包含简明扼要的教程或指南...

    在图片加载完毕前js获取图片长宽尺寸

    要么是在DOM中写入,要么就是等图片加载完毕后才开始获取,用户体验极其不好,今天特意整理一个办法,可以让javascript在html加载完毕后就可以立即获取img文件的头数据,非常快速的将图片的真实尺寸展现在你面前,...

    Android中让图片自适应控件的大小的方法

    `.9.png`,全称为“九宫格图”,它允许开发者指定图片的拉伸区域和不拉伸区域,从而实现图片在不同尺寸的控件中自适应填充,同时保持图片的清晰度和完整性,避免失真。 首先,你需要将普通的`.png`图片转换为`.9....

    Css的自适应计算.txt

    界面 css 自适应计算,便于方便的计算整体的居中,通过实时将整个窗体 属性取到, height长 width宽的计算左右相减得到 具体的长宽

Global site tag (gtag.js) - Google Analytics