美文网首页
2019-03-03js第一阶段

2019-03-03js第一阶段

作者: 饥人谷_小霾 | 来源:发表于2019-03-04 00:34 被阅读0次

    document.onkeypress = function(beeboy){
    key = beeboy['key'] //拿到用户按的键
    website = hash[hey] ///得到键对应的网站
    location.href = 'https://' +website //把当前地址变成对应地址

    window.open('https://' +website, '_blank') //模拟用户新开页面

    如何编辑hash


    image.png

    添加+ buttonX = document.createElement('button')
    buttonX.textContent = '编辑'
    kbdXXXXX.appendChild(buttonX)

    buttonX.onlick = function(kkp){
    console.log(buttonX)
    }
    buttonX是一个容器,第一次循环时候,button里撞的是第一个按钮
    ,第二次循环装的第二个,26个按钮过了一边,最后一个留在了容器里
    buttonx里面是时刻变动的
    所以console.log(kkp.target['id'])我取这个hash里面target对应的哈希


    修改前

    buttonX.onclick = function(kkp){
    key = kkp['target']['id']
    x = prompt('给我一个网址')
    hash[key] = x

    hash的变化是怎么样
    y这个键永远只对应一个网址,如果要对应多个,就需要改数据结构

    刷新页面后再consoleY,会发现y失踪
    因为每次刷新页面,之前页面js都消失,再重新执行js,hash也是新的hash。
    新hash没有被指定
    有什么办法能让hash一直留在这个页面,不会因为用户刷新页面在下一个页面消失
    答,在另外地方存js结果

    一开始有个哈希,用户点了一次编辑 哈希就变成了第二个哈希 ,如果用户刷新页面,哈希就没了,需要在用户刷新之前,把哈希存到另一个地方去localstorge
    编辑以后马上存

    localStorage.setItem('uuu',)有限制,只能存字符串
    

    在 f12 application里查询

    总结
    1.声明一个二维数组,一个哈希


    image.png

    2.如果发现已经存过了数组,就把现在的哈希覆盖原来的哈希


    image.png

    3.遍历这个key,生成多个kbd标签,然后再每个kbd标签添加一个按钮,同时在按钮上做一个标记,标记他对应的id是q还是w


    image.png

    4.按钮被点击的时候吗,去包含所有事件信息的哈希里取target,因为target才是用户点击的元素,buttonX不是用户点击的元素,kkp[‘target’]只要取到['id'],就是用户点击的qwert,然后问用户要输入一个网址,只要用户输入,就改变这个hash,只要哈希一改变,就存档一下,方便用户刷新时候读档


    image.png
    5.用户点击摸一个按钮时打开哈希里面对应的网址,同时要求新标签打开
    image.png

    逻辑不复杂,代码复杂,学习js的基本语法,如何声明一个对象,如何去写if的,js的if必须加圆括号

    相关文章

      网友评论

          本文标题:2019-03-03js第一阶段

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