js获取背景图片宽高比后根据浏览器宽度动态赋值div.style.height

js获取背景图片宽高比后根据浏览器宽度动态赋值div.style.height,第1张

你怎么知道我有答案?昨天是回答了,结果无缘无故被弊,再试试吧

注意因为百度知道这几天的高亮显示不正常,下面代码中前面的空格都是全角,你复制粘贴之后自己用编辑器查找/替换全部吧。

<style type="text/css">

#div {

    width: 100%;

    background: url("bgjpg") no-repeat;

    background-size: 100% auto;

    border: 1px solid #f00;

}

</style>

<script type="text/javascript">

var winWidth = 0;

var winHeight = 0;

function findDimensions() //函数:获取尺寸

{

//获取窗口宽度

if (windowinnerWidth)

winWidth = windowinnerWidth;

else if ((documentbody) && (documentbodyclientWidth))

winWidth = documentbodyclientWidth;

//获取窗口高度

if (windowinnerHeight)

winHeight = windowinnerHeight;

else if ((documentbody) && (documentbodyclientHeight))

winHeight = documentbodyclientHeight;

//通过深入Document内部对body进行检测,获取窗口大小

if (documentdocumentElement && documentdocumentElementclientHeight && documentdocumentElementclientWidth)

{

winHeight = documentdocumentElementclientHeight;

winWidth = documentdocumentElementclientWidth;

}

//这块

//documentbodystyleheight = winHeight + "px";

//documentbodystylewidth = winWidth + "px";

documentgetElementById("a1111")styleheight = winHeight + "px";

documentgetElementById("a1111")stylewidth = winWidth + "px";

}

findDimensions();

//调用函数,获取数值

windowonresize=findDimensions;

</script>

<html>

<head>

</head>

<body onResize="reSizeDiv()">

<div id="d1" style="width:400px;height:400px;background-color:lightblue;"></div>

<SCRIPT>

reSizeDiv();

function reSizeDiv()

{

var s = documentbodyoffsetWidth; //(带浏览器边框的宽度)

//var s = documentbodyclientWidth; //(不带浏览器边框的宽度)

if(isFirefox=navigatoruserAgentindexOf("Firefox")>0)

s=windowinnerWidth;

var a = 1024; //要变换的临界点

var w = "400px"; //DIV宽度(像素)

var w1 = "40%"; //DIV宽度(百分比)

var d = documentgetElementById("d1");

if(s > a)

{

dstylewidth = w1;

dinnerHTML = "DIV宽:width="+w1+"<br>DIV高:height=400px<br>当前窗口宽:Width="+s+"px";

}

else

{

dstylewidth = w;

dinnerHTML = "DIV宽:width="+w+"<br>DIV高:height=400px<br>当前窗口宽:Width="+s+"px";

}

}

</SCRIPT>

</body>

</html>

<SCRIPT LANGUAGE="javascript">

<!--

windowopen ('pagehtml', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行

-->

</SCRIPT>

参数解释:

<SCRIPT LANGUAGE="javascript"> js脚本开始;

windowopen d出新窗口的命令;

'pagehtml' d出窗口的文件名;

'newwindow' d出窗口的名字(不是文件名),非必须,可用空''代替;

height=100 窗口高度;

width=400 窗口宽度;

top=0 窗口距离屏幕上方的象素值;

left=0 窗口距离屏幕左侧的象素值;

toolbar=no 是否显示工具栏,yes为显示;

menubar,scrollbars 表示菜单栏和滚动栏。

resizable=no 是否允许改变窗口大小,yes为允许;

location=no 是否显示地址栏,yes为允许;

status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

</SCRIPT> js脚本结束

网页可见区域宽:documentbodyclientWidth

网页可见区域高:documentbodyclientHeight

网页可见区域宽:documentbodyoffsetWidth (包括边线的宽)

网页可见区域高:documentbodyoffsetHeight (包括边线的宽)

网页正文全文宽:documentbodyscrollWidth

网页正文全文高:documentbodyscrollHeight

网页被卷去的高:documentbodyscrollTop

网页被卷去的左:documentbodyscrollLeft

网页正文部分上:windowscreenTop

网页正文部分左:windowscreenLeft

屏幕分辨率的高:windowscreenheight

屏幕分辨率的宽:windowscreenwidth

屏幕可用工作区高度:windowscreenavailHeight

屏幕可用工作区宽度:windowscreenavailWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth

scrollHeight: 获取对象的滚动高度。

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度

offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

eventclientX 相对文档的水平座标

eventclientY 相对文档的垂直座标

eventoffsetX 相对容器的水平坐标

eventoffsetY 相对容器的垂直坐标

documentdocumentElementscrollTop 垂直方向滚动的值

eventclientX+documentdocumentElementscrollTop 相对文档的水平座标+垂直方向滚动的量

IE,FireFox 差异如下:

IE60、FF106+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE50/55:

clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

网页可见区域宽: documentbodyclientWidth

网页可见区域高: documentbodyclientHeight

网页可见区域宽: documentbodyoffsetWidth (包括边线的宽)

网页可见区域高: documentbodyoffsetHeight (包括边线的高)

网页正文全文宽: documentbodyscrollWidth

网页正文全文高: documentbodyscrollHeight

网页被卷去的高: documentbodyscrollTop

网页被卷去的左: documentbodyscrollLeft

网页正文部分上: windowscreenTop

网页正文部分左: windowscreenLeft

屏幕分辨率的高: windowscreenheight

屏幕分辨率的宽: windowscreenwidth

屏幕可用工作区高度: windowscreenavailHeight

屏幕可用工作区宽度: windowscreenavailWidth

-------------------

技术要点

本节代码主要使用了Document对象关于窗口的一些属性,这些属性的主要功能和用法如下。

要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在

IE下需要 深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。

Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。

Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。

documentbodyclientHeight表示HTML文档所在窗口的当前高度。documentbody clientWidth表示HTML文档所在窗口的当前宽度。

实现代码

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN"

">

js获取浏览器可见区域(不包括标题栏、地址栏、收藏夹栏状态栏等额外区域,仅为页面呈现区域)的高度和宽度

宽度:documentdocumentElementclientWidth

高度:documentdocumentElementclientHeight

文档类型:XHTML10

浏览器:ALL

以上就是关于js获取背景图片宽高比后根据浏览器宽度动态赋值div.style.height全部的内容,包括:js获取背景图片宽高比后根据浏览器宽度动态赋值div.style.height、怎么用js写一个div的宽度发生改变的事件 比如随浏览器窗口大小改变而改变、怎么用js来调整div的宽度当大于1024时按照百分比来,当小于1024时按照固定像素来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9652359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存