日期:2014-05-16  浏览次数:20310 次

怎么用js写个切换图片的代码
在js中,切换图片,并且开始点击A图片时,播放音乐,随之A图片变成了B图片(A,B图片在同一位置),在点击B图片,音乐停止,随之B图片变成A图片,如此循环。没学过js,临时拼凑的代码,有问题,不能实现上述功能,应该怎么写?
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<td align="left"><input type="image" src="images/Voice.jpg"<%--带X的喇叭--%>
onclick="play_click(this,'D:\\Program Files\\kuwo\\song\\陈奕迅-你的背包.mp3');" />
</td>

</tr>
</table>
<div id="div1"></div>
<script language="javascript">
function play_click(sef, url) {
var div = document.getElementById('div1');
if(div.src="images/Voice.jpg"){<%--当是带X的喇叭图标时--%>
div.src="images/wy_bm.jpg";<%--切换播放的喇叭图标--%>
 
 div.innerHTML = '<embed src="'+url+'" loop="0" autostart="true" hidden="true"></embed>';
var emb = document.getElementsByTagName('EMBED')[0];
}
if(div.src="images/wy_bm.jpg"){<%--当是播放的喇叭图标时--%>
div.src="images/Voice.jpg";<%--切换带X的喇叭图标--%>

div.innerHTML = '<embed src="-1" loop="0" autostart="true" hidden="true"></embed>';
var emb = document.getElementsByTagName('EMBED')[0];
}


}
</script>
</body>
</html>
JavaScript 图片 音乐

------解决方案--------------------
1:判断时需使用连等.if(a==b)
2:if(div.src="images/Voice.jpg"){//按LZ的意图这里的div.src应该改为sef.src吧?
3:sef.src这个值的结果和LZ想像中的有差别,因为它将是完整路径的,你不妨alert(sef.src)看看结果
4:逻辑关系使用错误,两个if是并行的,没有使用if(){}else{}来做区别处理,即使是前面的所有操作均没有错误,你看到的永远是你点击时的效果。第一个if执行了你的操作,更改图片,播放歌曲,但紧跟着第二个if执行的时候,因为你之前的操作使得它再次生效,因此又再次执行你的操作,再次更改图片回原来的
5:'D:\\Program Files\\kuwo\\song\\陈奕迅-你的背包.mp3'在真实的网站中,这样的路径是无效的,一切路径需以网站根目录为起点