BOM

所谓BOM指的是浏览器对象模型 Browser Object Model,它的核心就是浏览器

Bom浏览器对象模型

1、bom输出

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<button onclick="printLuffy()">打印</button>
<button onclick="findLuffy()">查找</button> </body> <script type="text/javascript">
//1.js ECMAScript DOM:文档 BOM //BOM Browser Object Model 浏览器对象模型
//核心 浏览器 //浏览器的输出 屏幕的宽高 滚动的宽高 setInterval .. window.open()开一个网址; close() location本地的一个对象
alert() //弹出框 //2.用于浏览器的调试
console.log('路飞学城') //路飞学城 //3. prompt('message',defaultValue) ;输入给它返回
var pro = prompt('luffycity','123456'); //会弹出 luffycity 123456 console.log(pro) //4 confirm() 如果点击确定 返回true 如果点击取消 返回false
var m = confirm("学习Bom");
console.log(m) //学习Bom
function printLuffy(){ //直接调用打印这个页面
print()
}
function findLuffy(){
var m2 = confirm("学习Bom");
find(m2);
} </script>
</html>

2、open和close方法

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body> <!--行间的js中的open()方法 window不能省略-->
<button onclick="window.open('https://www.luffycity.com/')">路飞学城</button> <button>打开百度</button>
<button onclick="window.close()">关闭</button>
<button>关闭</button> </body>
<script type="text/javascript"> var oBtn = document.getElementsByTagName('button')[];
var closeBtn = document.getElementsByTagName('button')[]; oBtn.onclick = function(){
// open('https://www.baidu.com') //不是行间的时候就不用加window了 //打开空白页面
open('about:blank',"_self")
}
closeBtn.onclick = function(){
if(confirm("是否关闭?")){
close();
}
} </script>
</html>

3、bom的其他对象

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript"> alert('刷新了') //返回浏览器的用户设备信息
console.log(window.navigator.userAgent) // console.log(window.location) //经常使用的一个方法
// window.location.href = 'https://www.luffycity.com'; //全局刷新 ===》 局部刷新 尽量少用这个方法 setTimeout(function(){
window.location.reload(); //reload重新加载;会隔3s便会重新刷新 },)
</script>
</html>

4、client系列

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.box{
width: 200px;
height: 200px;
position: absolute;
border: 20px solid red;
margin: 10px 0px 0px 0px;
padding: 10px;
}
</style>
</head>
<body>
<div class="box">
</div>
</body>
<script type="text/javascript">
/*style
* top
* left
* right
* bottom * client
* clientTop 内容区域到边框顶部的距离 边框的高度
* clientLeft 内容区域到边框左部的距离 边框的宽度
* clientWidth 元素的宽和高;内容区域+左右padding值 可视宽度
* clientHeight 内容区域 + 上下padding值 可视高度
* */ var oBox = document.getElementsByClassName('box')[];
console.log(oBox.clientTop) //20
console.log(oBox.clientLeft) //20
console.log(oBox.clientWidth) //220
console.log(oBox.clientHeight) //220
</script> </html>

5、屏幕的可视区域

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
/* * */ window.onload = function(){ console.log(document.documentElement.clientWidth); //clientwidth是可视内容的高
console.log(document.documentElement.clientHeight); window.onresize = function(){ //监听窗口,屏幕可视区域的宽和高 console.log(document.documentElement.clientWidth);//当放大缩小屏幕这两个数值是变化的
console.log(document.documentElement.clientHeight);
} }
</script>
</html>

6、offset系列

占位宽和占位高

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div style = "position: relative;">
<div id="box" style="width:200px;height: 200px;
border: 1px solid red;
padding: 10px;
margin: 10px;
position: absolute;
top: 20px;
left: 30px;">
</div>
</div>
</body>
<script type="text/javascript">
window.onload = function () {
var box = document.getElementById('box') //先获取这个盒子 //占位宽 高 Top Left
/*
* offsetTop: 如果盒子没有设置定位 到浏览器的顶部的距离,如果盒子设置定位,那么是以父盒子为基准的top值
* offsetLeft: 如果盒子没有设置定位 到浏览器的左部的距离,如果盒子设置定位,那么是以父盒子为基准的left值
offsetWidth 内容+padding+border
* */ console.log(box.offsetTop) //30
console.log(box.offsetLeft) //40
console.log(box.offsetWidth) //222
console.log(box.offsetHeight) //222 } </script> </html>

7、scroll系列

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
*{
padding: o;
margin: ;
}
</style>
</head> <body style="width:2000px;height: 2000px">
<div style = "height: 200px;background-color: red;"></div>
<div style = "height: 200px;background-color: green;"></div>
<div style = "height: 200px;background-color: yellow;"></div> <div id="scroll" style="width:200px;height: 200px;
border: 1px solid red;
overflow: auto;
padding: 10px;
margin: 5px 0px 0px 0px;">
<p>路飞学城
“创意是我们的目标,
而编程可以实现这样的目标。
创意在前端体现,
而技术就是它的后盾。
这两样东西混合在一起,
就能创造出强大的东西。”
马丁·路德·金在杜克大学发表演讲,他警告大家,总有一天,我们将不得不赎罪,不仅是为坏人的言行,
也为那些保持骇人听闻的沉默和冷漠的好人们,他们只是坐在那里说“等待时机”,
但是“做正确的事情,无论什么时候都是好时机。”
</p>
</div>
</body>
<script type="text/javascript">
window.onload = function(){ //实施监听滚动事件
// window.onscroll = function(){
// console.log(1111)
// console.log('上'+document.documentElement.scrollTop)
// console.log('左'+document.documentElement.scrollLeft)
// console.log('宽'+document.documentElement.scrollWidth)
// console.log('高'+document.documentElement.scrollHeight)
// } //监听盒子里边的
var s = document.getElementById('scroll'); s.onscroll = function(){
// scrollHeight : 内容的高度+padding 不包含边框 ;盒子滚动数值就会变化
console.log('上'+s.scrollTop)
console.log('左'+s.scrollLeft)
console.log('宽'+s.scrollWidth)
console.log('高'+s.scrollHeight)
}
} </script> </html>

JsBom的更多相关文章

  1. 前端开发 - jsBom

    一.jsBom简介 jsBom = javascript browser object modelBOM指的是浏览器对象模型 Browser Object Model,它的核心就是浏览器. 二.Bom ...

  2. js-BOM之offset家族、移动函数的封装升级(轮播图)

    Obj.style.width/obj.style.height与obj.offsetWidth/obj.offsetHeight的区别: <style> #div1{ height: 2 ...

  3. JAVAscript学习笔记 jsBOM 第七节 (原创) 参考js使用表

    <html> <head> <title>day02_js</title> <script type="text/javascript& ...

  4. jsBOM内容

    正如我们所知道的,javascript分为三大块,ECMAscript,BOM,DOM,ECMAscript固然重要:可是在web中使用ECMAscript很大程度上需要了解BOM即浏览器对象模型,否 ...

  5. 0417 jsBom操作+Dom再次整理

    BOM 1.Windows对象 window.open("打开的地址","打开的位置")window.opener:打开此页面的上一个页面对象window.cl ...

  6. JS--bom对象:borswer object model浏览器对象模型

    bom对象:borswer object model浏览器对象模型 navigator获取客户机的信息(浏览器的信息) navigator.appName;获得浏览器的名称 window:窗口对象 a ...

  7. day52 js--- bom dom

    本文转载自李文周博客,-----cnblog.liwenzhou.com dom官网资料: http://www.w3school.com.cn/htmldom/dom_methods.asp Jav ...

  8. 前端-JS-BOM和DOM

    前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  9. js---BOM 的理解方法

    windows 方法 window.close(); //关闭窗口   window.alert("message"); //弹出一个具有OK按钮的系统消息框,显示指定的文本   ...

随机推荐

  1. Linux - 网络检测

    linux 利用bmon/nload/iftop/vnstat/iptraf实时查看网络带宽状况 .添加yum源方便安装bmon # rpm -Uhv http://apt.sw.be/redhat/ ...

  2. Navicat Premium连接各种数据库

    版本信息 Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL.MariaDB.SQL Server.Oracle.PostgreSQL 和 SQLite 数 ...

  3. MFC_CFileDialog_选择文件夹

    场景 在MFC中有时候只需要选择一个文件夹而不需要选择文件,这时候可以通过下列方式来进行选择 技术点 BROWSEINFO typedef struct_browseinfo { HWND hwndO ...

  4. Python中的__init__()和__call__()函数

    Python中的__init__()和__call__()函数 在Python的class中有一些函数往往具有特殊的意义.__init__()和__call__()就是class很有用的两类特殊的函数 ...

  5. k64 datasheet学习笔记3---Chip Configuration之System modules

    1.前言 本文主要介绍芯片配置的系统模块的内容 2.SIM配置 TODO 3.SMC配置 TODO 4.PMC配置 TODO 5.LOW-LEAKAGE WAKEUP单元配置 TODO 6.MCM配置 ...

  6. FarBox的建站过程

    FarBox的建站过程 本文转自:http://mosir.org/html/y2012/How-to-build-your-website-by-farbox.html 作者: mosir 时间:  ...

  7. 常用css样式(布局)

    兼容css3新属性 在css3中,我们可以使用prefixfree.min.js这个插件来自动为css3的相关属性加上兼容浏览器属性,使我们不用为每个css3新属性再加上属性(需要用到大量css3的项 ...

  8. 记录entityframework生成的sql语句

    Interceptors (EF6.1 Onwards) Starting with EF6.1 you can register interceptors in the config file. I ...

  9. Html5 序列帧动画

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  10. linux下混杂模式

    混杂模式介绍: 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃:简单的讲,混杂模式就是指网卡能接受所有通过它的 ...