zoukankan      html  css  js  c++  java
  • js讲解

    js:
    html - 就是页面上有哪些东西,就给每一个东西取个名字
    css - 设置界面上这些东西都是什么样
    javascript - 界面上这些东西的动画效果,数据获取及交互

    脚本语言,与C#很相近

    顺序语句、分支语句、循环语句

    顺序语句 - 如果你要取某一个元素进行操作,1、将JS代码写在元素的下部,2、window.onload事件中
    分支 - if...else if...else..
    循环 - for(var i = 0;i<=10;i++){循环体};

    定义变量 - var a =‘aaa’, var a = 10,
    数组 - 不固定类型,不固定长度 , a.length

    函数 - function 函数名(){ };

    JS的DOM操作:
    一、window:
    1、window.onload - 当页面加载的时候可以调用某些函数

    2、window.open(1,2,3,4) - 打开新页面,
    1 - 打开页面的地址:'http://www......'
    2 - target:_blank 新页面中打开
    3 - 打开窗口的样式,toolbar=no:没有工具栏; menubar=no:无菜单栏;status=no:无状态栏;
    width,height:打开时的宽度和高度;top等
    left=100:打开窗口距离屏幕的左边距;也有
    resizable=no:打开的窗口大小不可调;
    scrollbars=no;不出现滚动条;
    location=no;不出现地址栏;

    注意:window.open('xxx','','')

    3、window.opener - 打开页面2的原页面,可以在页面2中控制原页面

    4、window.close(); - 关闭当前页面

    5、window.setInterval('要执行的代码',执行的间隔时间-毫秒); - 重复的执行代码
    6、window.setTimeout('要执行的代码',执行等待的时间-毫秒); - 等待一段时间再执行代码

    它俩都可以用一个变量来接收,var a = window.setInterval('xxx',1000);
    如果你想让它停,window.clearInterval(a);

    7、window.navigate('url'); - 页面跳转
    8、window.moveTo(x,y); - 将浏览器的位置定位
    9、window.resizeTo(x, y); -先写!!!!!
    10、window.scrollTo(x,y); - 很像锚点

    二、window.history
    window.history.back();

    三、window.location
    window.location.href - 当做值来使用,返回当前页面的地址

    最重要的!:Document对象
    1、id来取值 - document.getElementById('要取的ID'); - 返回的就是一个对象
    3、class来取值 - document.getElementsByClassName('xxx'); -返回一堆对象

    4、标记名来取值 - document.document.getElementsByTagName('xxx'); -返回一堆对象
    2、name来取值 - document.getElementsByName('要取的name'); -返回一堆对象

    innerHTML = '';如果赋值标记,那会把标记编译显示
    innerText = '';放啥给你看啥,放标记也不会给你编译

    注意!!!
    普通标记可以依靠以上方法来取到内容,但是表单元素需要使用value属性来获取里面的内容

    ==========================================================================
    文本类:
    text - 文本框
    password - 密码框
    textarea - 文本域
    hidden - 隐藏域
    按钮类:
    submit - 提交
    button - 普通按钮
    image - 图片按钮
    reset - 重置按钮
    选择类:
    radio - 单选框
    checkbox - 复选框
    select option - 下拉列表
    file - 文件上传对话框
    ==========================================================================

    !!!radio和checkbox对应的值应该放在一个label中,并且设置label的for=对应的radio的ID!!!放for,点label也可以选中对应的选择框

    html认识的一些属性会实行相应的效果;不认识的一些属性,会原封不动给扔出来,不认识的属性可以放主键值有关,跟后台保密数据无关的数据,人在代码里可以看到
    ==========================================================================

    1、添加,删除,修改,获取属性
    setAttribute('属性名','属性值'); - 添加、修改
    removeAttribute('属性名'); - 删除
    getAttribute('属性名'); --获取属性

    <input id="btn1" type="button" value="按钮1" disabled="disabled" />
        <input id="btn2" type="button" value="按钮2" />
    
            <script type="text/javascript">
                //取出按钮2,注册事件
                document.getElementById('btn2').onclick = function () {
                    var obtn1 = document.getElementById('btn1');
                    //让按钮1变为可用
                    obtn1.removeAttribute('disabled');
                    //让按钮1的文字变为可用
                    obtn1.setAttribute('value', '可用');
                    //让按钮2变为不可用
                    this.setAttribute('disabled', 'disabled');
                    //把按钮2的文字弹出
                    alert(this.getAttribute('value'));
                }  
            </script>


    2、添加,删除,修改样式
    对象.style.样式名=值;

    <style type="text/css">
            #div1 {
                position: relative;
                 100px;
                height: 100px;
                background-color: red;
            }
        </style>

    <div id="div1"></div> <input id="btn1" type="button" value="我是一个按钮" /> <input id="btn2" type="button" value="又一个按钮" /> <%--点击按钮移动--%> <script type="text/javascript"> var timer = null;//记录定时器 document.getElementById('btn2').onclick = function () { //document.getElementById('div1').style.left = document.getElementById('div1').offsetLeft + 10 + 'px'; --距离左边十个像素,点击移动 timer = window.setInterval('ccc()', 20); } function ccc() { //获取div1 var odiv1 = document.getElementById('div1'); //让div1向右移动一下 odiv1.style.left = odiv1.offsetLeft + 1 + 'px'; if(odiv1.offsetLeft>=500) { window.clearInterval(timer); } } </script> <%--点击按钮颜色变化--%> <script type="text/javascript"> var list = new Array(); list[0] = 'green'; list[1] = 'yellow'; list[2] = 'blue'; list[3] = 'red'; var num = 0; //获取按钮,注册点击事件 document.getElementById('btn1').onclick = function () { //将div1的北京颜色改为绿色 document.getElementById('div1').style.backgroundColor = list[num]; num++; if (num == 4) { num = 0; } } </script>

    3、事件们
    onclick - 点击事件
    ondblclick - 双击事件
    onmouseover / onmouseout - 鼠标移入/移除事件

    onmousemove - 鼠标移动时触发
    onchange - 内容改变时触发(焦点丢失时触发)
    onfocus - 焦点进入事件
    onblur - 焦点丢失事件

    onkeydown / onkeyup / onkeypress - 按键按下、抬起、按下并抬起


    ==========================================================================
    <input id="btn2" type="button" value="又一个按钮" runat="server" onclick="aaa()" onserverclick="Page_Load" />

    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Page_Load" OnClientClick="aaa()" />

    注意!!!
    表单元素,添加了runat = "server",就变成了服务器控件,服务器就可以看到它了,
    此表单元素的onclick事件是js代码事件,onserverclick是C#服务器代码事件

    vs

    服务器控件,OnClick是C#服务器事件,OnClientClick是js事件

     倒计时按钮可用

    <input id="btn1" type="button" value="同意(3)" disabled="disabled" />
    
                <script type="text/javascript">
                    var time = 3;
                    var bbb = window.setInterval('aaa()', 1000)
    
                    function aaa() {
                        //取出按钮
                        var obtn1 = document.getElementById('btn1');
                        //让按钮的显示文本开始倒计时
                        time--;
    
                        if (time == 0) {
                            window.clearInterval(bbb);
                            obtn1.value = "同意";
                            obtn1.removeAttribute('disabled')
                            return;
                        }
                        obtn1.value = "同意(" + time + "";
                    }
                </script>
  • 相关阅读:
    linux下安装MongoDB
    Prometheus+Grafana企业监控系统
    微服务项目运维管理
    Jenkins CI&CD 自动化发布项目实战(上篇)
    Docker入门与进阶(下)
    Docker入门与进阶(上)
    Git&Gitlab开发流程与运维管理
    报名中|面基啦~首站深圳线下云原生技术开放日来了
    kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析
    使用 Velero 跨云平台迁移集群资源到 TKE
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5701641.html
Copyright © 2011-2022 走看看