(1)Dom一些概念和window对象常见方法与属性

一 .简介

1. 使用JavaScript操作Dom进行DHTML开发。(js脚本语言,dom(html页面的模型,dom树),dhtml动态网页,对应关系类似于用c#语言在vs平台开发web服务器程序)

2.CSS+JavaScript+Dom=DHTML

二 .事件

1.和winform的事件一样。

2.可以直接在标签内写事件/在head里面写事件

三.window对象(顶级对象,根对象,当前浏览器的窗口)

(1)常见方法:

alert:弹出消息框

confirm:弹出确定/取消选择框

navigat:跳转到指定页面(ie浏览器支持,其他浏览器不一定支持)

setIterval:每隔一段时间执行指定函数(不推荐使用代码来做参数)

clearIterval:取消间隔执行

timeout:延迟一段时间执行指定函数代码(不推荐使用代码来做参数)

cleartimeout:取消延迟执行

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>无标题页</title>

    <script type="text/javascript">
        //函数一般不写在标签内。
        function mousedown() {
            alert("请点击我");
        }
        function f1() {
            alert("1");
        }
        function f2() {
            alert("2");
        }
        function confirmademo() {
            if (confirm("是否进入?")) {
                alert("进入了");
                setInterval

            }
            else {
                alert("取消进入");
            }
        }
        var IntervalDomTitel;//表示为全局变量。
        function startInterval() {
            IntervalDomTitel = setInterval("alert('hello')", 1000);
        }    
    </script>
</head>
<!-- 默认有效区域是body,只有一条div的大小。所以要加入换行符来扩大body的区域-->
<body>
    <input type="button" onclick="document.ondblclick=f1" value="关联dom双击事件1" />
    <input type="button" onclick="document.ondblclick=f1" value="关联dom双击事件2" />
    //comfir用来提示是否继续操作
    <input type="button" value="comfirtest" onclick="confirmademo()" />
    <!-- 如果属性值本身就含有双引号则使用单引号,或者双引号里面使用单引号,不能一样。-->
    <!-- navigate只有webbrowser引擎支持,火狐等不支持,尽量避免使用。-->
    <input type="button" value="navigatetest" onclick="navigate('HTMLPage.htm');" />
     <input type="button" value="Interval" onclick="startInterval()" />
      <input type="button" value="StopInterval" onclick="clearInterval(IntervalDomTitel);" />
</body>
</html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>实现标题走马灯效果</title>

    <script type="text/javascript">
        //尽量避免使用全局变量,js的全局变量都是放在window下的,不同的页面就是不同的window,比如子页面访问父页面变量test,window.parent.test
        var Intervas;
        function setIntervas(dirparams) {
            var srcroll;
            clearInterval(Intervas);
            function srcroll() {
                if (dirparams == "left") {
                    var title = document.title;
                    var fistch = title.charAt(0);
                    var leftstr = title.substring(1, title.length);
                    //substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符
                    document.title = leftstr + fistch;

                }
                if (dirparams == "right") {
                    var title = document.title;
                    var laststr = title.charAt(title.length - 1);
                    var rightstr = title.substring(0, title.length - 1);
                    document.title = laststr + rightstr;
                }
            }
            //setInterval(code, delay);这里code参数将字符串解析为代码。而普通的alert("a")都是解析为字符串。
            Intervas = setInterval(srcroll, 500);
        }
    </script>

</head>
<body>
    <input type="button" id="left" onclick="setIntervas('left')" />
    <input type="button" id="right" onclick="setIntervas('right')" />
</body>
</html>

(2)常见的属性

(2.1)location 属性:herf 用来设置当前窗口的url,可以跳转到指定页面;方法:reload()重新载入,刷新页面。

(2.2)event属性:非常重要的属性,用来获取发生事件时的信息,事件不局限于window对象,所有元素的事件都可以通过event属性来取得相关信息、

altkey,ctrlkey,shiftkey属性,bool类型,表示事件发生的时候改键是否被按下;

clientX,clientY获取当事件发生时,鼠标在window窗口的坐标;

srceenX,srceenY事件发生时候,鼠标在屏幕的坐标;

returnValue属性,bool类型,如果设置为false就会取消默认事件的继续处理(在事件处理之前,进行判断,false就不执行事件,true继续执行。如页面离开之前,给个判断是否离开/或者跳转链接之前给个判断是否继续访问)

srcElement:获取事件源的对象

keyCode:发生事件时的按键值

button:发生事件时鼠标的按键值(左1,右2,同时为3)

(2.3) screen对象 获取屏幕分辨率属性。

(2.4)cilpboardData(粘贴板)对象 :当复制的时候,oncopy(粘贴,剪贴对应on+单词。)方法被触发。return false就是禁止复制。对粘贴板的操作 clearData("Text"),getData("Text"),setData("Text",val)。示例:直接复制别人的博文,文章结尾会附加转载来源。思路:复制博文到粘贴板-(过一小会比如0.1秒去修改)在粘贴板修改博文。直接在元素中.是找不到事件的,要手动输入oncopy。

(2.5)history对象:操作历史记录。back();forward();go(-1);go(1)。分别为后退/前进...

(2.6)document对象。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>window对象</title>

    <script type="text/javascript">

        //window.location.href
        //跳转到指定的链接,常用的页面跳转方法
        function gourl() {
            location.href = "实现标题走马灯的效果.htm";
        }
        //window.event
        //事件触发的时候,是否点击了alt键
        //是就弹出消息框“alt被点击了”,否就弹出消息框“普通点击”
        function downevent() {
            if (event.altKey) {
                alert("alt被点击了");
            }
            else {
                alert("普通点击");
            }
        }
        //oncopy事件:事件结束后延迟0.1,往粘贴板中的内容最后添加当前url。
        function oncopymgr() {
            setTimeout("var s = clipboardData.getData('Text');s = s+location.href;clipboardData.setData('Text',s);", 100);
        }
        //window.event.returnValue
        //事件执行之前进行判断是否继续执行事件
    </script>

</head>
<!-- 思维有错,这是是界面上点击复制,然后提示不能复制,不允许复制。而不是直接禁用掉右键的复制。-->
<body oncopy="oncopymgr()">
    <!-- window.event.altKey示例-->
    <input id="downevent" type="button" onclick="downevent()" value="点击事件" />
    <!-- window.location.href示例-->
    <input id="gourl" type="button" onclick="gourl()" value="跳转到指定的页面" />
    <!-- window.event.returnValue-->
    <!--注意属性名称,还有事件引用函数是不加;的和js脚本的格式一样,false是bool类型,不是string类型,不能加引号,和C#一样 -->
    <!-- window.event.returnValue示例1 禁止访问链接-->
    <a href="实现标题走马灯的效果.htm" onclick="alert('禁止访问!');window.event.returnValue=false;">百度</a>
    <!-- window.event.returnValue示例2 禁止表单提交 可以用来客户端表单校验-->
    <form action="Dom事件.htm">
    <input type="submit" onclick="alert('禁止提交表单,数据有问题!');window.event.returnValue=false;" />
    <!-- 粘贴板数据操作:clipboardData,天啊,别粗心大意,浪费青春啊。-->
    这里是一些文章。
    <input type="button" value="分享给好友" onclick="clipboardData.setData('Text',window.location.href);alert('已经把当前地址放在粘贴板中');" />
    <!--禁止粘贴事件 -->
    <input type="text" onpaste="alert('为了你的充值安全,请手动输入!');return false;" />
    </form>
</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值