`
txf2004
  • 浏览: 7123484 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

弹出窗口自适应图片的大小

阅读更多
<!-- google_ad_client = "pub-4490194096475053"; /* 内容页,300x250,第一屏 */ google_ad_slot = "3685991503"; google_ad_width = 300; google_ad_height = 250; // -->

如何让弹出窗口自适应图片的大小
解决思路:
主要思路是用window.open()方法打开一个窗口,然后再根据图片的大小resizeTo()窗口大小,必要时再用moveTo()方法调整窗口位置。现在问题在于如何获取图片的大小。
具体步骤:
方法一。我们知道,DHTML里有个Image()对象,只要设置图片源src后就可以用obj.width和obj.height获取图片的宽和高,这两个数据有了之后就可以给window.open()里控制窗口大小的参数一个定值了,不过要注意,要把窗口边框、标题栏高度和图片距边界的距离计算在内。
代码如下:

<script>
var oImg
function fiximgwin(url,w,h){
if(arguments.length==1){ //如果图像大小未定义
oImg=new Image() //创建图像对象
oImg.src=url //设置图像源
Size(url) //调用Size函数获取图像尺寸
}
//如果已取得图像尺寸,打开固定大小的窗口
else window.open(url,"","width="+w+",height="+h)
}
function Size(url){
if(oImg.width&&oImg.height) //如果已取得图像尺寸
//将图像尺寸加上一定尺寸后返回给fiximgwin()函数,
//其中18和25的表现见下图右下角所示
fiximgwin(url,oImg.width+18,oImg.height+25)
else setTimeout("Size(url)",10)
}
</script>
<button onClick="fiximgwin(’http://www.flash8.net/upload/2003/9/2/2003922303578757.jpg’)">打开图片</button>
运行效果:

图1.5.11 自适合图片大小的窗口

方法二:如果你稍微细心一点,应该会发现,当不指定图片的大小时,图片默认显示原始大小,这时用obj.width和obj.height取到的也是图片的宽和高的真实值。所以可以先用window.open()方法打开一个空窗口,再以流方式给窗口写入调用图片的代码,在图片加载完后有个onload方法,用它触发resizeTo()改变窗口大小。
代码如下:

<script>
function fiximgwin(url){
//打开一个空白窗口,并初始化大小
var imgwin=window.open(’’,’img’,’width=50,height=50’)
imgwin.focus() //使窗口聚焦,成为当前窗口
//这里是关键代码,在图片加载完后调用resizeTo()和
//moveTo()方法调整窗口大小和位置
var HTML="<html>\r\n<head>\r\n<title>图片浏览</title>\r\n</head>\r\n<body leftmargin=\"0\" topmargin=\"0\">\r\n<img src=\""+url+"\" onload=\"window.resizeTo(this.width+10,this.height+36);window.moveTo((screen.width-this.width)/2,(screen.height-this.height)/2)\">\r\n</body>\r\n</html>"
var doc=imgwin.document
doc.write(HTML) //向空白窗口写入代码
doc.close() //关闭输入流,并强制发送数据显示。
}
</script>
<button onClick="fiximgwin(’http://www.flash8.net/upload/2003/9/2/2003922303578757.jpg’)"> 打开图片</button>

运行效果:


图1.5.12 自适应图片大小的窗口
技巧:方法一的代码还可以精简如下:
<script>
function fiximgwin(url){
var oImg=new Image() //创建图像对象
oImg.src=url //设置图像源
oImg.onload=window.open(url,"","width="+(oImg.width+18)+",height="+(oImg.height+25))
}
</script>
<button onClick="fiximgwin(’http://www.flash8.net/upload/2003/9/2/2003922303578757.jpg’)"> 打开图片</button>

特别提示
两种方法的代码运行效果分别如图1.5.11、1.5.12所示。

特别说明

本例是图片对象和窗口对象的方法特性应用,对于图片对象,它有三个主要属性src、width和height,还有一个onload事件。而对于窗口对象,主要是moveTo方法和resizeTo方法。
moveTo 将窗口左上角的屏幕位置移动到指定的 x 和 y 位置。
resizeTo 将窗口的大小更改为指定的宽度和高度值。

http://www.corange.cn/archives/2008/11/2147.html

分享到:
评论

相关推荐

    \ASP.NET实现自适应图片大小的弹出窗口(窗口可任意编辑).doc

    ### ASP.NET实现自适应图片大小的弹出窗口详解 在Web开发中,处理图像展示时,经常需要创建一个能够自适应图像大小的弹出窗口,同时保持良好的用户体验。本文将详细解析如何在ASP.NET框架下实现这一功能,具体包括...

    pb窗口自适应分辨率

    PowerBuilder作为一种面向对象的开发语言,提供了多种窗口类型,包括主窗口(MainWindow)、弹出式窗口(PopupWindow)、子窗口(ChildWindow)、响应窗口(ResponseWindow)、MDI框架窗口(MDIFrame)和带微帮助的MDI框架窗口...

    弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽。

    iPop Demo iPop Demo This is a demo of the image popup script. I know you want to see it in action. Testing things with a small image. The popups have been setup with the AutoApply extension which...

    漂亮的div弹出窗口样式

    5. **响应式设计(responsive design)**:考虑到不同设备的屏幕尺寸,弹出窗口应具有响应式,能够自适应地调整大小和位置。这可以通过媒体查询(`media queries`)来实现,确保在手机、平板电脑和桌面电脑上都有良好的...

    关于自适应屏幕方向和大小的一些经验.doc.zip

    在现代的移动设备和网页设计中,自适应屏幕方向和大小已经成为必不可少的考虑因素。随着智能手机和平板电脑的广泛使用,用户可能在不同尺寸和方向的屏幕上浏览内容,因此开发者必须确保他们的应用或网站能够在各种...

    html5响应式图片布局自适应浏览器大小图片布局

    在响应式设计中,我们可以定义不同断点,当浏览器窗口大小改变时,应用相应的样式规则,使图片和布局能够自适应。 2. **响应式图像元素(Responsive Images)**: HTML5引入了`&lt;picture&gt;`元素和`srcset`与`sizes`...

    jQuery的点击弹出窗口特效.zip

    弹出窗口的实现通常涉及到CSS(层叠样式表)和HTML结构。CSS用于定义窗口的外观,包括位置、大小、颜色、透明度等属性。例如,我们可以创建一个隐藏的div作为弹窗容器,初始设置display为none,然后在点击事件触发时...

    自适应大小的层

    "自适应大小的层"是一种设计策略,其目标是实现弹出层(也称为模态窗口或对话框)的效果,能够根据内容自动调整尺寸,以适应不同的显示需求。这样的功能尤其重要,因为它确保了在不同屏幕尺寸和分辨率的设备上都能...

    thickBox 基于jquery的超轻量级插件,点击图片、登陆、等类似弹出窗口,

    当用户点击触发元素(如图片或按钮)时,`ThickBox`会将指定的内容(如图片、网页或者视频)嵌入到这个弹出窗口中。它支持多种类型的媒体,包括图片、HTML页面、IFrame、Flash以及YouTube视频等。 二、核心功能 1....

    拥有阴影并能自适应的弹出层

    标题中的“拥有阴影并能自适应的弹出层”指的是在网页设计中,创建一个具有阴影效果且能够根据页面尺寸动态调整大小的弹出对话框或模态窗口的技术。这样的弹出层通常用于显示警告、确认信息或者进行表单填写等交互...

    jQuery灯箱弹出窗口插件litebox.zip

    jQuery Litebox是一款强大的灯箱插件,主要用于在网页中实现优雅的弹出窗口效果,将图片、视频、iframe等内容以模态窗口的形式展示给用户。它具有多种功能和自适应特性,可以无缝地与网页内容集成,提升用户体验。在...

    单击图片弹出并切换

    4. **自适应大小**:自适应大小是指弹出层能够根据图片的尺寸或窗口大小自动调整,确保内容始终能在屏幕上清晰可见。这涉及到响应式设计,利用CSS的媒体查询(media queries)和百分比单位来实现。 5. **切换功能**...

    多分辨率屏幕自适应

    3. 自适应图片:图片大小和分辨率对加载速度有很大影响。在响应式设计中,我们可以使用srcset属性来提供不同尺寸的图片,浏览器会根据设备的分辨率选择合适的图片。此外,懒加载(Lazy Loading)技术也可以延迟非...

    layer演示5种通用的手机弹出层

    它支持多种弹出样式,如对话框、提示框、模态窗口、通知等,并且易于配置和自定义,能够满足不同场景下的需求。 第一种通用的手机弹出层是对话框(Dialog)。对话框通常用于显示详细信息或者进行简单的用户交互,...

    div宽度自适应布局(左边自适应)

    宽度自适应是指网页元素的宽度会根据浏览器窗口的大小自动调整。这通常通过CSS的`width`属性配合百分比单位来实现。例如,设置`div`的宽度为`width: 100%;`,这样`div`就会占据其父元素的全部宽度,当窗口大小改变时...

    自适应瀑布流+点击图片放大功能

    "点击图片放大功能"则是指当用户点击页面中的图片时,图片会以全屏或弹出窗口的形式显示,提供更清晰、更细致的查看体验。这种功能在很多网站的图片展示中非常常见,能够帮助用户更好地欣赏或查看细节。 关于标签...

    html自适应页面

    它强调通过灵活的布局、媒体查询和弹性图片等技术,使网页能够根据浏览器窗口大小的变化而变化。 2. **流式布局(Fluid Grids)**:流式布局是一种基于百分比的布局方式,而不是固定像素。这样可以使页面元素随着...

    html5全屏网格响应式布局点击弹出窗口切换特效

    综上所述,"html5全屏网格响应式布局点击弹出窗口切换特效"是一个涵盖了前端开发多个领域的主题,包括HTML5的新特性、响应式设计、CSS3布局技术以及动态交互设计。学习并掌握这些技术,将有助于构建更具现代感和用户...

    自适应的网站

    1. **响应式布局(Responsive Layout)**:这是自适应网站设计的基础,采用百分比而非固定像素来定义元素的宽度,使得网页能够根据浏览器窗口大小的变化自动调整布局。常见的响应式布局技术包括流式布局、网格系统和...

    css3实现自适应浏览器图片布局特效.zip

    Flexbox为容器中的子元素提供了灵活的布局方式,特别是在处理不确定或可变的尺寸时,比如图片大小不一的情况。通过设置`display: flex`,我们可以使图片容器变为一个弹性容器,并使用`flex-wrap`属性控制是否允许子...

Global site tag (gtag.js) - Google Analytics