作者lily50735 (汶)
看板Web_Design
标题[请益] 有关图片更换
时间Fri Oct 11 19:50:10 2013
现在在学javascript
这周老师教到math.random、for loop、bubble sort...
在写作业的时候想要有点变化
打算做预测乐透开奖的程式
我做了49颗银色的球
想要让被抽中的色球换色
Google只找到针对单一图片作变换的函数
将图片名称设为pic 新图路径设进imgfile[]
function changeImage(){
document.pic.src = imgfile[0]
}
想请问要怎麽写才能让乱数抽出的号码变色呢?
document.pic.src 这中间有办法插入变数吗?
苦恼好久了 真的无解吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.120.1
1F:推 pm2001:两种方法 一个是eval 一个是把所有pic存在阵列里面 10/11 20:36
p大是指把银球的图也存在阵列里吗?
2F:→ lyforever:可以改变class就可以用css去做了? :p 10/11 21:54
3F:→ danny8376:先问需求... 你有49颗都是银色的球 然後要变色? 10/11 23:08
恩 本来有49颗银色的球(s1-s49)
乱数取六个数字 要把这六个数变成红色的球(r1-r49)
5F:推 aspdoctor:直接改class最快也最好 10/12 01:02
感谢以上大家回应
我目前不太懂改Class的意思
我想我研究一下s大的写法再上来发问好了
--
所以大家说的利用class 是指
document.getElementsByClassName(); 这个函数吗?
我好像有点懂了
来试试会不会成功
--
我又遇到了一个问题
因为重新选号时希望色球会先都回复成银色
再依新选中的号码变色
所以我写了
function resetpic(){
var my_pic = document.getElementsByClassName("sball");
for(var i=0;i<49;i++){
my_pic[i-1].src = "pic/s"+i+".png";
}
}
但是debug的时候他说Cannot set property 'src' of undefined
是因为my_pic
[]不能直接放变数吗?
6F:→ danny8376:为何要 i-1 ? => i=0 => 0-1 = -1 => pic[-1] = 没东西 10/12 23:32
7F:→ danny8376:看你的写法&需求 10/12 23:33
8F:→ danny8376:my_pic[i].src = "pic/s"+(i+1)+".png"; 10/12 23:33
9F:→ danny8376:这样才对吧? 10/12 23:33
对耶! 成功重置图片了
可是de完一个bug下一只又跑出来了
重置完图片我的网页又挂掉了
能请板众直接帮我看问题到底出在哪里吗?
http://goo.gl/49VfM6 (dropbox连结)
10F:推 hit1205:问题出在你把 49 改成了 50... XD 10/13 03:13
11F:→ hit1205:你要嘛就是像楼上说的用 i 和 i+1 10/13 03:14
12F:→ hit1205:不然就是 var i=1;i<50;i++ 10/13 03:14
13F:→ hit1205:因为有 49 张图,所以他们在阵列里的索引会是 0 ~ 48 10/13 03:14
14F:→ hit1205:啊,我上面没说清楚XD 你已经像楼上说的用i和i+1的话,那就 10/13 03:16
15F:→ hit1205:不用动for。如果要动for,那就是i-1和i不动,上面变i=1;i<50 10/13 03:17
16F:→ hit1205:对了,数字其实可以不写死,用my_pic.length可以直接取得 10/13 03:19
17F:→ hit1205:阵列的长度 =) 10/13 03:19
哇! 成功了!
原来只是因为for没设好
感谢大家~~ 看他成功跑出来超开心的 XD
※ 编辑: lily50735 来自: 1.164.208.125 (10/13 07:54)