javascript 函数修改全局变量无效

varstatu=3;varwhosnext=function(){if(statu=3){aboutout();}elseif(statu=2){orbout();}e... var statu = 3;
var whosnext = function () {
if ( statu = 3) {
aboutout();
} else if ( statu = 2) {
orbout();
} else if ( statu = 4) {
contactout();
}else {
caseout();
}
}
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();
}
html:

<ul class="list-inline nav_list">
<li onclick="caseclick()"><a href="#" onclick="caseclick()">案例</a></li>
<li onclick="orbclick()"><a href="#" onclick="orbclick()">服务</a></li>
<li onclick="aboutclick()"><a href="#" onclick="aboutclick()">关于</a></li>
<li onclick="contactclick()"><a href="#" onclick="contactclick()">联系</a></li>
</ul>
我想每次点击修改statu的值,但是好像statu没有变化一直是3
展开
 我来答
slangpz
推荐于2016-09-30
知道答主
回答量:31
采纳率:0%
帮助的人:18.1万
展开全部
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>
dgddssdhh
2014-10-23 · TA获得超过769个赞
知道小有建树答主
回答量:1455
采纳率:53%
帮助的人:518万
展开全部
不如定义一个函数,将这些全部包含在里面,然后将全局变量改为函数变量
那样会好点
你这样携程全局变量也没啥必要
你的那个statu符石也应该在whosnext();前面吧,在后面就没啥意义了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式