一般来说这就代码习惯有关了,大多数都是把<script>拉到<body>靠后位置去,这样元素就先被加载了。还有比较好的代码风格是一个元素的事件对应一个js语句来写,当然由于全局变量会被提后的缘故,靠前的代码又用不了,所以大部分代码都是写在后面的。
所以嘛,客观的来讲:
方法一:按照自顶向下加载的顺序合理排列js语句。
方法二:用window.onload自行设定加载顺序。(逃
if ( statu = 3) 所有if判断后面的条件都写错了,判断是用双等于‘==‘ 或值和类型都比较的用三等号’===‘;单等号是赋值。还有事件没有必要绑2次,可以把li上的去掉,修改或的代码:<body>
<ul class="list-inline nav_list">
<li><a href="###" onclick="caseclick()">案例</a></li>
<li><a href="###" onclick="orbclick()">服务</a></li>
<li><a href="###" onclick="aboutclick()">关于</a></li>
<li><a href="###" onclick="contactclick()">联系</a></li>
</ul>
<script type="text/javascript">
var statu = 3
var whosnext = function () {
if (statu == 3) {
//aboutout()
console.log(statu)
} else if (statu == 2) {
//orbout()
console.log(statu)
} else if (statu == 4) {
//contactout()
console.log(statu)
}else {
//caseout()
console.log(statu)
}
}
var aboutclick = function () {
whosnext()
statu = 3
//aboutin()
}
var contactclick = function () {
whosnext()
statu = 4
//contactin()
}
var orbclick = function () {
whosnext()
statu = 2
//orbin()
}
var caseclick = function () {
whosnext()
statu = 1
//casein()
}
</script>
</body>