2017-3-14 JS学习笔记

document 获取网页基本结构

  • document 可以把一些东西写在网页中
document.write('123');
  • 写入网页的基本结构
document.write(document.body + '<br>');
document.write(document.documnetElement + '<br>');
document.write(document.html + '<br>');

星海特效的一些关键点

//获取浏览器的高度和宽度
var screenW = document.documentElement.clientWidth;
var screenY = document.documentElement.clientHeight;
// body 中添加节点
document.body.appendChild(starSpan);
//随机数生成 (0~1)
Math.random();
//设置动画延迟
starSpan.style.animationDelay = ratoDelay + 's';

照片墙练习中的注意点

  • 因为当添加节点后会改变节点数,在添加节点前后获取的值可能发生变化,所以我们要在添加节点之后获取浏览器的宽度和高度
  • 主要应用思想逻辑
    排他思想,随机数

事件对象

  • 事件对象一般通过参数 event 传进函数内部
  • IE 浏览器无法识别 event 所以用兼容写法
var event = event || window.event;
//获取点击的浏览器中的位置,始终是以浏览器的左上角作为参考点,就是坐标原点
event.clientX;
//获取点击的点在屏幕中的位置,是以屏幕的左上角为原点的
event.screenX;
//获取点击的点相对于文档的位置,是以文档作为参考点的
event.pageX;
//在只有一屏显示的时候
event.clientX = event.pageX;

放大镜案例中的一些注意点

//当移动到小的盒子上的时候让对应的大盒子以及 span 出现
smallBox.onmouseover = function(){
        mask.style.display = 'block';
        bigBos.style.display = 'block';
//进入小盒子之后,鼠标在其中移动时,设置 span 的位置以及设置大盒子中的图片移动
        smallBox.onmousemove = function(event){
                var event = event || window.event;
//移动公式
//移动的距离 = 当前移动的坐标的位置 - 小的盒子的offsetParent距离左边的间距 - mask的实体宽度的一半
                var moveX = event.clientX -smallBox.offsetParent.offsetLeft - mask.offsetWidth*0.5
//当左边的小的 span 移动的时候,让大的盒子中的图片移动起来
//移动公式:小盒子移动的距离/大盒子中图片移动的距离 = 小盒子的宽度/大盒子的宽度
                var bigX = - moveX/(smallBox.offsetWidth/bigBox.offsetWidth)
        }
}

进度条展示中的注意点

//获取点击鼠标的点,距离 mask 的间距以及盒子举例浏览器的左侧距离
var event = event || window.event;
var distanceX = event.clientX - mask.offsetLeft;
document.onmousemove = function(event){
//获取移动的距离
        var event = event || window.event;
//移动公式:移动的距离 = 当前移动的位置 - distanceX
        var moveX = event.clientX -distanceX;
//事件中最后返回 false  ,可以清空事件的一些默认行为
//这里清空的是动作条的来回滑动黏连         
}

闭包的基本认识

 window.onload = function(){
        /*1.获取按钮*/
        var btns = document.getElementsByTagName('button');
        /*2.点击按钮弹出对应的索引值
        在for循环中有延迟操作,i都获取不到
        但是我们需要获取i值,我们可以采用扩展属性或者闭包
        小闭包:()(),匿名函数自调
        匿名函数:没有名称的函数
        (匿名函数的定义)(函数调用)
        //闭包可以记录变量的值
        * */
        for(var i = 0;i < btns.length;i++){
//            btns[i].onclick = function(){
//                alert();
//            }
            (function (b) {
                btns[b].onclick = function(){
                    alert(b);
                }
            })(i);
        }
    }

放大镜特效实现的闭包修改

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

推荐阅读更多精彩内容

  • offset家族三大家族和一个事件对象三大家族(offset/scroll/client)事件对象/event ...
    Yuann阅读 946评论 0 5
  • 我们首先要明白,我们给页面添加效果用到的js到底是什么?js其实包含三部分:dom 文档对象模型 bom 浏览...
    一直以来都很好阅读 792评论 0 0
  • 三大家族属性 client/scroll/offset clientLeft 表示当前标签距离左侧的 border...
    GodlinE阅读 297评论 0 2
  • 一、JS前言 (1)认识JS 也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HT...
    凛0_0阅读 2,752评论 0 8
  • 最近在准备CPA考试,而且又新入驻简书,没有多余的时间和精力去搜集准备其他类型的文章,因此就把会计这一门课程的一些...
    尼酱的大杂烩阅读 1,057评论 0 2