我为滚动网站创建了jquery代码。但是每次都给出了swich case的默认值。
这是我的HTML代码
<li>
<a href="#" id="about">About</a>
</li>
<li>
<a href="#" id="skills">Skills</a>
</li>
<li>
<a href="#" id="project">project</a>
</li>
<li>
<a href="#" id="contact">contact</a>
</li>
这是我的jquery代码
$(document).ready(function () {
$("a").click(function () {
var value_id = $(this).attr('id');
var scrolledheight = 2500;
var pix = 'px';
alert(value_id);
var heightvalue = scrolledheight + pix;
switch (value_id) {
case about:
$("html, body").animate({
scrollTop: heightvalue
}, 600);
break;
case skills:
$("html, body").animate({
scrollTop: heightvalue
}, 600);
break;
case project:
$("html, body").animate({
scrollTop: $(window).height()
}, 600);
alert("project");
break;
default:
$("html, body").animate({
scrollTop: $(window).height()
}, 600);
alert("contact");
return false;
}
});
});
有人知道如何解决这个问题吗?
答案 0 :(得分:0)
更改案例以匹配字符串:
case 'about':
case 'skills':
等等
答案 1 :(得分:0)
由于案例[表达式]是一个字符串,请将其放在引号中。
例如:case“about”:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
答案 2 :(得分:0)
变量未定义。将变量变为字符串
switch(value_id) {
case "about":
$("html, body").animate({ scrollTop: heightvalue}, 600);
break;
case "skills":
$("html, body").animate({ scrollTop: heightvalue}, 600);
break;
case "project":
$("html, body").animate({ scrollTop: $(window).height()}, 600);
alert("project");
break;
default:
$("html, body").animate({ scrollTop: $(window).height()}, 600);
alert("contact");
return false;
}
答案 3 :(得分:0)
您需要使用字符串:
...
case "about":
...