美文网首页
16-进阶 javascript初体验

16-进阶 javascript初体验

作者: 格林姆大师 | 来源:发表于2018-05-06 01:17 被阅读0次

一. 本节中遇到的js知识点

  1. 在指定元素内添加子元素:
<header></header>

<main>
    <div id="mainXXX"></div>    
</main>

<footer></footer>

在#mainXXX 中添加元素

<script type="text/javascript">
    var divXXX = document.createElement('div')
    divXXX.textContent = 'hi'
    mainXXX.appendChild(divXXX) 
</script>
  1. 在标签中添加内容:
divXXX.textContent = 'hi'
  1. 监听键盘按键事件:
    document.onkeypress = function(wefwwfg){
        var key = wefwwfg['key']

        var website = hash[key]
        location.href = 'http://'+website
        window.open('http://'+website,'_blank')
    }

其中容器wefwwfg很重要,所有按键事件发生时产生的所有信息都在容器里,wefwwfg['key']里存的就是按键值

  1. 打开新的链接,在当前/新窗口:

window.open('http://www.baidu.com','_blank')
  1. 在元素上添加click事件:
    本节中设计到此方法的代码片段如下:
        buttonX = document.createElement('button')
        buttonX.textContent = '编辑'
        buttonX.id = row[index]
        buttonX.onclick = function(dcve){
            key2 = dcve['target']['id']
            x = prompt('允许你输入一个网址')
            hash[key2] = x
        }

所有与buttonX.onclick事件产生的相关信息都存储在容器dcve中,比如获取触发click元素的id:dcve['target']['id']

  1. prompt()
    测试结果如下:

    js-16-01.png
    如果需要获得输入的内容,可以用户一个容器接收x = prompt('允许你输入一个网址')
  2. 在代码:

            buttonX.onclick = function(dcve){
                key2 = dcve['target']['id']
                x = prompt('允许你输入一个网址')
                hash[key2] = x
                // console.log(key2)
            }

中存在一个问题,每次出发click事件引起的hash的变更在重新刷新网页后hash都会重新初始化为最初在html里声明的hash,怎么保存有click引起的变化?????
此处选择的方法为:将变化后的hash存储在浏览器上,脱离了原js,

            buttonX.onclick = function(dcve){
                key2 = dcve['target']['id']
                x = prompt('允许你输入一个网址')
                hash[key2] = x
//将hash存放在 localStorage  中的一个叫 zzz 的容器里
                localStorage.setItem('zzz',JSON.stringify(hash)) 
            }

使用时如下:

    hash = {'q':'qq.com','w':'weibo.com','e':'ele.me','r':'renren.com'}
    // 取出localStorage 中的 zzz 对应的 hash
    hashInLocalStorage = JSON.parse(localStorage.getItem('zzz')||'null')
    if (hashInLocalStorage) {
        hash = hashInLocalStorage
    }

二. 本节中遇到的css知识点

  1. 之前用过需要复习的css知识点:
  • 居中问题,3个方法,
    1-需要居中的为inline元素,直接在其父元素(为block元素)上使用text-align: center;
    2-需要居中的元素为block,若width固定,则用margin-left: auto; margin-right: auto;,若非定宽,则转换为display: inline-block;再参考方法1;
    3-需要居中的为inline元素,直接给其套一个div/block元素,然后在div上设置text-align: center; 即又回到了方法1.
  1. 新知识点
  • text-transform: uppercase;将小写转换为大写
  • display: none;

相关文章

  • 16-进阶 javascript初体验

    一. 本节中遇到的js知识点 在指定元素内添加子元素: 在#mainXXX 中添加元素 在标签中添加内容: 监听键...

  • JavaScript学习笔记(五)

    慕课网JavaScript进阶篇第9章学习笔记 JavaScript进阶篇—第9章 JavaScript学习笔记(...

  • 技术书刊

    Javascript# ########《JavaScript设计模式》《高性能网站建设指南》《高性能网站建设进阶...

  • 进阶篇:浏览器渲染 & 白屏和FOUC(1)

    饥人谷学习进阶第 1 天 JavaScript 网页 = Html + CSS + JavaScript Html...

  • 0. JavaScript学习资料汇总

    JavaScript教程 - 廖雪峰的官方网站 JavaScript入门篇 - 慕课网 JavaScript进阶篇...

  • 前端心得

    1.基础阶段:HTML+CSS 2.js阶段:JavaScript基础、JavaScript进阶、JavaScri...

  • #30天专注橙长计划#向前端工程师进发#day0#航线设计

    发现问题,路线大修。 学习方面:暂定按HTML入门→CSS入门→HTML进阶→CSS进阶→JavaScript入门...

  • JavaScript ☞ day3

    JavaScript基础学习笔记之JavaScript进阶 焦点事件 鼠标事件-单击与双击 鼠标事件-mouseo...

  • 进阶16-懒加载

    1.如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible...

  • 进阶16-懒加载

    题目1:如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisib...

网友评论

      本文标题:16-进阶 javascript初体验

      本文链接:https://www.haomeiwen.com/subject/mjgdrftx.html