谁都不许动我的砖 2019-07-05 21:26 采纳率: 0%
浏览 518

关于js全局变量无法定义的问题

我主要想实现以下类似功能:通过点击导航栏,下方div内容改变。图片说明图片说明

一开始这串代码测试就会出现变量未定义错误,但是如果多点击几次导航栏一直调用此函数的时候,变量未定义错误又不提示了,并且函数功能正常了。这是为什么?

图片说明

以下为我的导航栏部分代码(由于一直排版有问题,故使用照片,见谅)
图片说明

以下为我需要修改的div部分代码
图片说明

以下为我的所有js代码

function disper1(){
    div1 = document.getElementById("get1");
    div2 = document.getElementById("get2");
    div3 = document.getElementById("get3");
    div4 = document.getElementById("get4");
    div5 = document.getElementById("get5");
    div6 = document.getElementById("get6");
    div1.style.display="inline";
    div2.style.display="none";
    div3.style.display="none";
    div4.style.display="none";
    div5.style.display="none";
    div6.style.display="none";
}

function disper2(){
    div1.style.display="none";
    div2.style.display="inline";
    div3.style.display="none";
    div4.style.display="none";
    div5.style.display="none";
    div6.style.display="none";
}

function disper3(){
    div3.style.display="inline";
    div2.style.display="none";
    div1.style.display="none";
    div4.style.display="none";
    div5.style.display="none";
    div6.style.display="none";
}

function disper4(){
    div4.style.display="inline";
    div2.style.display="none";
    div3.style.display="none";
    div1.style.display="none";
    div5.style.display="none";
    div6.style.display="none";
}

function disper5(){
    div5.style.display="inline";
    div2.style.display="none";
    div3.style.display="none";
    div4.style.display="none";
    div1.style.display="none";
    div6.style.display="none";
}

function disper6(){
    // var div1 = document.getElementById("get1");
    // var div2 = document.getElementById("get2");
    // var div3 = document.getElementById("get3");
    // var div4 = document.getElementById("get4");
    // var div5 = document.getElementById("get5");
    // var div6 = document.getElementById("get6");
    div6.style.display="inline";
    div2.style.display="none";
    div3.style.display="none";
    div4.style.display="none";
    div5.style.display="none";
    div1.style.display="none";
}



  • 写回答

3条回答 默认 最新

  • Json-Huang 2019-07-05 22:26
    关注

    函数的作用域的问题,公共使用的变量一般是在函数外定义

        div1 = document.getElementById("get1");
        div2 = document.getElementById("get2");
        div3 = document.getElementById("get3");
        div4 = document.getElementById("get4");
        div5 = document.getElementById("get5");
        div6 = document.getElementById("get6");
            从disper1()移除放到所有函数的上面,不然其他函数获取不到
    
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划