如果在函数中根据id

我希望playSound()函数根据所选(悬停的)图像完成其工作id。我尝试过的任何东西都没有奏效,所以我需要这方面的全面帮助。


代码:


var sound1 = document.getElementById("audio1");

var sound2 = document.getElementById("audio2");


function playSound() {

  //if hovered image has id="x", do this

  sound1.play();


  //if hovered image has id="y", do this

  sound2.play();

}

<a href="Okokoska.html"><img src="Pkokoska.jpg" id="x" onmouseover="playSound()" onmouseout="stop()"></a>

<a href="Okonj.html"><img src="Pkonj.jpg" id="y" onmouseover="playSound()" onmouseout="stop()"></a>


<audio id="audio1"><source src="Zkokoska.wav"></audio>

<audio id="audio2"><source src="Zkrava.wav"></audio>


杨__羊羊
浏览 159回答 4
4回答

胡说叔叔

您可以添加thisinto onmouseover="playSound(this)",这将传递一个悬停元素。然后你在函数中捕获它:function playSound(e) {并用于保存 id,然后只做 if 语句。let id = e.id;var sound1 = document.getElementById("audio1");var sound2 = document.getElementById("audio2");function playSound(e) {&nbsp; console.clear();&nbsp; console.log(e.id);&nbsp; let id = e.id;&nbsp; if (id === "x") {&nbsp; &nbsp; //if hovered image has id="x", do this&nbsp; &nbsp; sound1.play();&nbsp; &nbsp; &nbsp;console.log("Playing sound x");&nbsp; } else if (id === "y") {&nbsp; &nbsp; //if hovered image has id="y", do this&nbsp; &nbsp; sound2.play();&nbsp; &nbsp; console.log("Playing sound y");&nbsp; }}<a href="Okokoska.html"><img src="Pkokoska.jpg" id="x" onmouseover="playSound(this)" onmouseout="stop()"></a><a href="Okonj.html"><img src="Pkonj.jpg" id="y" onmouseover="playSound(this)" onmouseout="stop()"></a><audio id="audio1"><source src="Zkokoska.wav"></audio><audio id="audio2"><source src="Zkrava.wav"></audio>

杨魅力

尽量不要使用内联 JavaScript 来了解更多不应该使用它只是解决这个问题所以由于以上原因只需使用一个addEventListener或使用侦听器赋值就像id.onclick = function(){}...&nbsp;这里是一个例子var sound1 = document.getElementById("audio1");var sound2 = document.getElementById("audio2");var x = document.getElementById("x");var y = document.getElementById("y");x.onmouseover = () => {&nbsp; sound1.play();}x.onmouseout = () => {&nbsp; sound1.pause();}y.onmouseover = () => {&nbsp; sound2.play();}y.onmouseout = () => {&nbsp; sound2.pause();}<a href="Okokoska.html"><img src="Pkokoska.jpg"></a><a href="Okonj.html"><img src="Pkonj.jpg" id="y"></a><audio id="audio1"><source src="Zkokoska.wav"></audio><audio id="audio2"><source src="Zkrava.wav"></audio>或者你也可以看到下面的例子希望你会发现它有帮助var button = document.getElementById("button");var audio = document.getElementById("player");button.addEventListener("mouseover", function() {&nbsp; audio.play();&nbsp; button.innerHTML = "Play";});button.addEventListener("mouseout", function() {&nbsp; audio.pause();&nbsp; button.innerHTML = "Pause";});div {&nbsp; display: block;&nbsp; cursor: pointer;&nbsp; width: 50px;&nbsp; height: 50px;&nbsp; background-color: #000000;}button {&nbsp; cursor: pointer;&nbsp; font-family: Tahoma;&nbsp; font-weight: bold;&nbsp; font-size: 14px;&nbsp; background-color: #00ffff;&nbsp; color: blue;&nbsp; padding: 13px 6px;}<div>&nbsp; <button id="button">Play</button></div><audio id="player">&nbsp; <source src='http://hi5.1980s.fm/;' type='audio/mpeg'/></audio>

MYYA

通过onclick将事件作为参数传递到绑定到img标记的playSound函数中,并在您的逻辑中访问它以验证 Id。HTML<a href="Okokoska.html"><img src="Pkokoska.jpg" id="x" onmouseover="playSound(event)" onmouseout="stop()"></a><a href="Okonj.html"><img src="Pkonj.jpg" id="y" onmouseover="playSound(event)" onmouseout="stop()"></a><audio id="audio1"><source src="Zkokoska.wav"></audio><audio id="audio2"><source src="Zkrava.wav"></audio>JavaScriptvar sound1 = document.getElementById("audio1");var sound2 = document.getElementById("audio2");function playSound(event) {&nbsp; if(event.target.id == "x"){&nbsp; &nbsp; sound1.play();&nbsp;&nbsp; }else if(event.target.id == "y"){&nbsp; &nbsp; sound2.play();&nbsp; }}

狐的传说

我很早就不喜欢剧本了,但你试过这个吗(我没试过)?function playSound(){document.getElementById("x").addEventListener("click", function(){ document.getElementById("audio1").play()[0]; });document.getElementById("y").addEventListener("click", function(){ document.getElementById("audio2").play()[0]; });}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript