Day04(事件,marquee 标签文字滚动条,demo计算器)

Alert(“”); 弹出警示框;
完整的写法:window.alert(“执行语句”);
Window 窗口对象 一般情况下,window可以省略;
Console 控制台输出;
一般用于我们程序员测试,调试程序用:
console.log(“执行语句”); 控制台输出,普通的输出语句;
console.warn(‘执行语句’); 控制台警示;
console.error(“控制台错误提示”); 控制台错误提示;

文档打印输出:
document.write(“执行输出”);

document 文档对象;

JS,用于控制我们web页面里面的元素;
那么,他是怎么控制的?
想要控制元素,首先就要找到想要控制的元素
因为ID永远是唯一的,不会冲突,所以我们一般用ID来寻找我们需要改变的元素;
getElementById(‘s1’);
get 获取 element元素 by 通过 id 名字;

document.getElementById(‘s1’);

document.getElementById('s1').style.background='#efefef'

首先,获取元素,然后,改变元素的样式,然后改变样式内的background属性;
在JS里面,改变带有横杠的CSS属性,均采用驼峰命名法;

一、事件

什么是事件?
比如说我们去开灯,我们用手,去按一下开关,开关处理程序,把灯泡点亮,这就是一个事件;
那么事件,就必须要有事件的三要素:
事件源 事件 事件处理程序;

1.1 事件源

要触发的对象, 用手去出发了,那手就是事件源;

1.2 事件

怎么触发?按?敲?打?
一般是动词,例如点击、经过、按键盘

事件名         说明  
onclick       鼠标单击  
ondblclick    鼠标双击  
onkeyup       按下并释放键盘上的一个键时触发?  
onchange      文本内容或下拉菜单中的选项发生改变 
onfocus       获得焦点,表示文本框等获得鼠标光标。    
onblur        失去焦点,表示文本框等失去鼠标光标。    
onmouseover   鼠标悬停,即鼠标停留在图片等的上方 
onmouseout    鼠标移出,即离开图片等所在的区域  
onload        网页文档加载事件  
onunload      关闭网页时 
onsubmit      表单提交事件    
onreset       重置表单时 
1.3 事件处理程序、

发生了什么就是事件的处理程序 灯亮了,门开了;

我们获取到的元素,是可以通过变量,来存储起来的!!!

那么,一个事件的总过程:
获取元素,然后给元素赋予一个事件,最后,在事件里面执行东西;

var a = document.getElementById('b1');
var s = document.getElementById('s1');
a.onclick = function() {
    s.style.background ='#efefef';
}

marquee 标签文字滚动条

onmouseover 鼠标移动上去的事件;
onmouseout 鼠标移出事件;

页面载入函数:

window.onload=function(){
}

因为我们的JS属于标准文档流,如果把JS写在页面元素的前头,就获取不到,
那么,我们可以通过页面加载的事件来完成我们写在任意地方的写法
Window.onload就是:当浏览器被打开的时候,页面所有元素都被加载一遍;
所以说,为了我们页面加载速度快一些,通常,JS通常放在页面底部;

transform: rotate(45deg);旋转角度 deg是角度的意思

this关键字
指向当前函数;
event.target; //找到目标事件; target目标

event 事件,那么
event.target:找到目标事件;
可以适用于子元素;

计算 方法: eval();
可以计算出包含的字符串的运算;

聚焦:获取当前窗口鼠标焦点;
失焦:当前元素失去焦点;

聚焦,也是有事件的,他叫做:
onfocus=function(){}
失去焦点;
onblur=function(){}

计算器(demo)

结构
<div class="box">
        <input type="text" id="input" value="" disabled="disabled"/><br/>
        <div id="num">
            <input type="button" value="1"/>
            <input type="button" value="2"/>
            <input type="button" value="3"/>
            <input type="button" value="+"/><br/>
            <input type="button" value="4"/>
            <input type="button" value="5"/>
            <input type="button" value="6"/>
            <input type="button" value="-"/><br/>
            <input type="button" value="7"/>
            <input type="button" value="8"/>
            <input type="button" value="9"/>
            <input type="button" value="*"/><br/>
            <input type="button" value="0"/>
            <input type="button" value="."/>
            <input type="button" value="/" id="chu"/><br/>
        </div>
        <button id="clear">C</button>
        <button id="btn">=</button>
    </div>
css样式
.box {
    width: 300px;
    border: 1px solid silver;
    text-align: center;
    margin: 50px auto;
}

.box input {
    height: 50px;
    margin: 3px 0;
    width: 70px;outline: none;
}

#input {
    width: 290px;
    text-align: right;
}

#chu,#btn,#clear{
    width: 144px;
}
#btn,#clear{
    margin: 0 0 3px 0;
    height: 50px;
}
js清单
//页面加载完执行
window.onload = function(){
    //第一步
   var num = document.getElementById("num");          //得到计算器的输入按钮

   var input = document.getElementById("input");             //得到计算器的显示屏

   var btn = document.getElementById("btn");                //得到等于按钮

   var clear = document.getElementById("clear");              //得到清除按钮

    //第二步
    //点击界面输入按钮
    num.onclick = function(event){           
       
        var x = event.target || event.srcElement;        //兼容

        if(x.value == undefined){
            //如果值等于 undefined 就什么也不输出。
        }else{
            input.value = input.value + x.value;
        }
    };
    
    //第三步
    //点击等于
    btn.onclick = function(){
      
        if(input.value !="")                //如果 input 的值不为空就运算 input 里面的值

        input.value = eval(input.value);       // 运算
    };
    
    //第四步
    //点击清除
    clear.onclick = function(){
        input.value = "";
    };
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,718评论 2 17
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,752评论 0 8
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 1,334评论 1 2
  • 1、首先下载echo.js和blank.gif和loading.gif2、然后在页面中引入echo插件:2、JS代...
    编程界的小学生阅读 1,953评论 0 2
  • 50/100 100天写作计划第50篇 转眼间写到一半了,今天就扒一扒《三生三世十里桃花》的人物。 作为追剧一员...
    页彦夕阅读 583评论 0 1