JS函数调用问题
我在书上看了段代码,点选button切换图片和说明,里面有一点串不起来:<divstyle="margin-top:100px;text-align:center"><i...
我在书上看了段代码,点选button切换图片和说明,里面有一点串不起来:
<div style="margin-top:100px;text-align:center">
<img id="sceneimg" src="scene0.jpg" alt="Stick Figure Adventure" /></br>
Please choose:
<input type="button" id="decision1" value="1" onclick="changeScene(1)"/>
<input type="button" id="decision2" value="2" onclick="changeScene(2)"/>
img元素的src属性一开始定义为"scene0.jpg",触发onclick事件后调用函数changeScene(),如下:
function changeScene(option){
var message="";
if (curScene==0){
curScene=1;
message="Your journey begins at a rock in the road.";
}
问题是现在if语句里的curScene还没有声明,更没有赋值,函数结束后有更改图片:
document.getElementById("sceneimg").src="scene"+curScene+".jpg";
alert(message);
我觉得问题是当显示图片为scene0时,并没有指定curScene用来表示图片编号,运行程序时卡在判断语句,无法判断curScene是否等于0,不知道理解的对不对,还有不知道该怎么解决问题。
书上前后翻了好几遍没有提到可能出现这样的问题,求网友解答,谢谢。
百度知道问题补充字数有限制,完整代码贴在这里:
http://tieba.baidu.com/p/4140294153 展开
<div style="margin-top:100px;text-align:center">
<img id="sceneimg" src="scene0.jpg" alt="Stick Figure Adventure" /></br>
Please choose:
<input type="button" id="decision1" value="1" onclick="changeScene(1)"/>
<input type="button" id="decision2" value="2" onclick="changeScene(2)"/>
img元素的src属性一开始定义为"scene0.jpg",触发onclick事件后调用函数changeScene(),如下:
function changeScene(option){
var message="";
if (curScene==0){
curScene=1;
message="Your journey begins at a rock in the road.";
}
问题是现在if语句里的curScene还没有声明,更没有赋值,函数结束后有更改图片:
document.getElementById("sceneimg").src="scene"+curScene+".jpg";
alert(message);
我觉得问题是当显示图片为scene0时,并没有指定curScene用来表示图片编号,运行程序时卡在判断语句,无法判断curScene是否等于0,不知道理解的对不对,还有不知道该怎么解决问题。
书上前后翻了好几遍没有提到可能出现这样的问题,求网友解答,谢谢。
百度知道问题补充字数有限制,完整代码贴在这里:
http://tieba.baidu.com/p/4140294153 展开
3个回答
展开全部
展开全部
你的思路基本上是对的,我补充下面一点,可能你就明白了:JS对变量没有严格要求说明和初始化,没有初始化的变量值为undef,可以进行相等判断和输出,所以程序是可以运行起来的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了你的贴吧里的代码,鉴于你要切换的图片只有2个,可以全遍历的方法去读取图片名再判断:
function changeScene(option){
var message="";
var imgName=$("#sceneimg")[0].src;
if (imgName=="scene0"){
curScene=1;
message="Your journey begins at a rock in the road.";
}
els if (imgName=="scene1"){
if(option==1){
curScene=2;
message="You have arrived at a cute little house in the woods.";
}
document.getElementById("sceneimg").src="scene"+curScene+".jpg";
alert(message);
}
如果图片有N张,当然不能用这个方法了,可以结合CSS,给img添加class熟悉,比如
<img class='a1' id="sceneimg" src="scene0.jpg" alt="Stick Figure Adventure" />
js每次改变class,CSS读取class去改变src
function changeScene(option){
var message="";
var imgName=$("#sceneimg")[0].src;
if (imgName=="scene0"){
curScene=1;
message="Your journey begins at a rock in the road.";
}
els if (imgName=="scene1"){
if(option==1){
curScene=2;
message="You have arrived at a cute little house in the woods.";
}
document.getElementById("sceneimg").src="scene"+curScene+".jpg";
alert(message);
}
如果图片有N张,当然不能用这个方法了,可以结合CSS,给img添加class熟悉,比如
<img class='a1' id="sceneimg" src="scene0.jpg" alt="Stick Figure Adventure" />
js每次改变class,CSS读取class去改变src
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询