0
我試圖用Raphael創建一個簡單的播放/暫停按鈕系統,但我不斷收到範圍問題。事件調用和範圍問題
感謝Raphael,按鈕本身只是嵌入到SVG標籤中的圖像。 的目標是讓這個「事件循環」:
- 如果顯示play.png,
onmouseover
remove()
play.png和節目播放hover.png - 如果顯示播放hover.png,
onclick
remove()
播放hover.png顯示pause.png - 如果顯示pause.png,
onmouseover
remove()
pause.png節目暫停hover.png - 如果顯示暫停hover.png,
onclick
remove()
暫停hover.png show play.png
這看起來很蠢,但我真的有範圍和關閉的問題。這是我此刻的代碼:
function toPlay(pauseHover) {
pauseHover.remove();
var play = paper.image("images/play.png", Img.X, Img.Y, Img.height, Img.width);
play.node.onmouseover = toPlayHover(play);
}
function toPause(playHover) {
playHover.remove();
var pause = paper.image("images/pause.png", Img.X, Img.Y, Img.height, Img.width);
pause.node.onmouseover = toPauseHover(pause);
}
function toPlayHover(play) {
play.remove();
var playHover = paper.image("images/play-hover.png", Img.X, Img.Y, Img.height, Img.width);
playHover.node.onclick = toPause(playHover);
}
function toPauseHover(pause) {
pause.remove();
var pauseHover = paper.image("images/pause-hover.png", Img.X, Img.Y, Img.height, Img.width);
pauseHover.node.onclick = toPlay(pauseHover);
}
var play = paper.image("images/play.png", Img.X, Img.Y, Img.height, Img.width);
toPlayHover(play);
我不知道爲什麼,這並不工作,因爲螢火蟲是不是給我在控制檯中的任何錯誤,但我認爲這是因爲toPlayHover()
功能不能在toPlay()
函數中調用。
在此先感謝您的幫助!
Ouaou,非常感謝您!我會在一百萬年內從未想過這件事!我解決了它,它的工作原理! –