web前端 (12)JS 04

目录
浏览器窗口对象 window
定时器 ***
屏幕信息 screen 了解
浏览器历史对象 history 了解
浏览器地址对象 location ***
JS中的事件 ***
键盘事件 熟悉
事件冒泡机制 了解
事件源对象 了解
面向对象

浏览器窗口对象 window
窗口的打开

格式:
var 新打开的窗口对象 = window.open(url,[name],[config],[specs]);

参数1.    url 字符串参数, 表示新窗口加载的资源地址 
参数2.    name 可选字符串参数, 表示窗口的唯一标识 , 相同name的窗口只能存在一个 !
参数3.    config 可选字符串参数, 配置对象, 描述窗口的大小规格 , 是字符串类型的, 由多个键值对组成 ! (键与值之间使用等号连接, 多个键值对之间使用逗号分隔)
        常用的键值对 : 
            -   width   :   单位px , 表示新窗口的宽度
            -   height  :   单位px , 表示新窗口的高度
            -   left    :   单位px , 表示新窗口距离屏幕左边框的距离 
            -   top     :   单位px , 表示新窗口距离屏幕上边框的距离

1366/6 = 227
728/5 = 145

参数4.    specs 可选参数 , 是否允许加载历史文件

var width = 227;
var height = 145;
for(i=0;i<5;i++){
    var xtop = i*height;
    for(j=0;j<6;j++){
        var xleft = j*width;
        window.open("http://itdage.cn","chuizi","width="+width+"px,height="+height+"px,left="+xleft+"px,top="+xtop+"px");

    }
}

窗口的关闭

window对象.close();

关闭当前窗口: window.close();

定时器 ***
一次性定时器 ***

指的是延迟指定毫秒数, 执行指定代码 !

格式:
setTimeout(“执行语句”,数值毫秒);

周期性定时器 ***

指的是每间隔指定毫秒数, 重复执行指定代码 !

开启周期性定时器:
var 周期性定时器 = setInterval(“执行语句”,数值毫秒);

关闭周期性定时器:
clearInterval(周期性定时器);

案例:

10


屏幕信息 screen 了解

属性:

-   screen.width    :   获取屏幕宽度
-   screen.height   :   获取屏幕高度
-   screen.availWidth   :   可用宽度
-   screen.availHeight  :   可用高度

windows任务栏的高度:  win7 和 win 是 40px       windowsXP是30px

浏览器历史对象 history 了解

函数:
- back() : 后退到上一页
- forward() : 前进到下一页
- go(数字) : 整型数字 , 正数表示前进指定页数, 负数表示后退指定页数 !

浏览器地址对象 location ***

属性:
href : 用于获取与设置浏览器地址栏中的内容, 设置地址栏内容, 回导致网页发生跳转 !

函数:
reload() : 刷新网页
replace(url): 替换当前网页内容 为 指定url网页内容, 回导致浏览器地址发生改变! (注意: 替换不等于跳转)
assign(url) : 跳转到指定网页 ,与 href 操作效果相同

JS中的事件 ***

什么是事件:
指的是网页在元素的状态改变时, 用户鼠标操作时 , 以及用户键盘操作时 触发的动作 !

分类:
- 状态事件
- 鼠标事件
- 键盘事件

JS事件对象 event *

在JS中 每一个事件发生时, 都会产生一个事件对象, 在事件中可以直接通过event来调用 !

  • 属性:
    - clientX : 鼠标事件触发时的横向x的坐标
    - clientY : 鼠标事件触发时的垂直y的坐标
    - keyCode : 键盘事件触发时的键盘码 !

键盘事件 熟悉

  • onkeydown : 当键盘按下

  • onkeyup : 当键盘弹起

    一次按下并不对应一次弹起 !

注意:
通常 我们都是给window窗口添加键盘事件 (可以作用到整个网页)

格式:
window.onkeydown = function(){

}

案例:

Insert title here

事件冒泡机制 了解

HTML元素在触发鼠标事件时 , 会依次激活 父元素的同类事件 !

如何停止冒泡:
格式:
在事件触发时 , 调用停止事件冒泡的函数 !
event.stopPropagation();

事件源对象 了解

事件源对象 就是 事件源头的对象 !

如何获取事件源对象:
格式:
- IE浏览器:
var element = event.srcElement;
- 其他浏览器:
var element = event.target;

案例:

<style type="text/css">
    button{
        width:60px;
        height:30px;
        box-shadow:2px 2px 2px 2px #fff;
    }
    button:hover{
        box-shadow:2px 2px 2px 2px #999;
    }
    table{
        border:2px solid #666;
        box-shadow:2px 2px 2px 2px #999;
        margin-top: 20px;
    }
    #div1{
        width:218px;
        height:20px;
        line-height:20px;
        padding: 10px 20px;
        border:2px solid #666;
        box-shadow:2px 2px 2px 2px #999;
    }
    table:hover{
        box-shadow:6px 6px 6px 6px #999;
    }
    #div1:hover{
        box-shadow:6px 6px 6px 6px #999;
    }
</style>
</head>
<body style="margin: 50px;">
    <script type="text/javascript">
        function x1(event){
            //事件源对象
            var element = event.target;
            if(element.nodeName=="BUTTON"){
                //确定点击的都是按钮
                var text = element.innerHTML;
                //寻找div1
                var div1 = document.getElementById("div1");
                switch (text) {
                case "c":
                    //清空div1的内容
                    div1.innerHTML = "";
                    break;
                case "=":
                    //计算div1的内容
                    div1.innerHTML = eval(div1.innerHTML);
                    break;

                default:
                    //拼接div1的内容
                    div1.innerHTML+=text;
                    break;
                }
            }
        }
    </script>
    <div id="div1">

    </div>
    <table onclick="x1(event)">
        <tr>
            <td><button>7</button></td><td><button>8</button></td><td><button>9</button></td><td><button>+</button></td>
        </tr>
        <tr>
            <td><button>4</button></td><td><button>5</button></td><td><button>6</button></td><td><button>-</button></td>
        </tr>
        <tr>
            <td><button>1</button></td><td><button>2</button></td><td><button>3</button></td><td><button>*</button></td>
        </tr>
        <tr>
            <td><button>c</button></td><td><button>0</button></td><td><button>=</button></td><td><button>/</button></td>
        </tr>
    </table>

面向对象
JS中 定义对象三种方式

在Java中, 需要创建一个Class , 然后通过new 关键字创建对象

在JS中, 创建对象时 一般不需要模板 , 可以直接创建对象, 然后给指定属性赋值.
给属性赋值时, 如果属性不存在, 则创建属性并赋值 ;
使用属性值时, 如果属性不存在, 则结果为未定义 !

方式1. 创建对象 直接使用

格式: var 对象名 = new Object();

案例:
var p = new Object();
p.name=“孙宽”;
p.age=88;
p.sex=“妖”;
p.say = function(){
alert(“我是:”+this.name+",我今年"+this.age+“岁了,我是一”+this.sex+“人 !”);
}
p.say();

方式2. 创建对象模板函数, 通过new模板的方式, 来 创建对象

格式:
    function 模板名称(形式参数列表){
        //通过this 给属性和函数赋值
    }

案例:
    function Person(name,age,sex,say){
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.say = say;
    }
    var p = new Person("小泽宽宽",18,"男",function(){
        alert("从前有座山, 山上有座庙...");
    });
    p.say();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值