簡體   English   中英

如何更改 js 文件中的背景圖像而不是硬編碼 url

[英]How to change background image in js file but not hard coding url

我無法弄清楚為什么我在使用onmouseover事件時無法更改背景圖像。 我的目標是當我將鼠標放在第一張照片上時,這張照片會顯示在頁面頂部,當我將鼠標移動到另一張照片時,這張新照片將顯示在頂部,然后當我將鼠標移動到第三張圖片,第三張圖片將顯示在頂部。 這里附上我的 html 代碼和 js 代碼。 請幫我。

 function upDate(previewPic){ // document.getElementById("image").style.backgroundColor = "green"; document.getElementById("image").style.backgroundColor = "url(previewPic.src)"; document.getElementById("image").innerHTML = previewPic.alt + ". this is onmouseover events"; } function unDo(){ document.getElementById("image").style.backgroundColor = "#8e68ff"; document.getElementById("image").innerHTML = "Hover over an image below to display here."; }
 <div id = "image"> Hover over an image below to display here. </div> <img class = "preview" alt = "Styling with a Bandana" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon.jpg" onmouseover = "upDate(this)" onmouseout = "unDo()"> <img class = "preview" alt = "With My Boy" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon2.JPG" onmouseover = "upDate(this)" onmouseout = "unDo()"> <img class = "preview" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon3.jpg" alt = "Young Puppy" onmouseover = "upDate(this)" onmouseout = "unDo()">

'previewPic.src' 似乎是一個已用作字符串的變量。 你應該替換這段代碼

document.getElementById("image").style.backgroundColor = "url(previewPic.src)";

document.getElementById("image").style. backgroundImage = "url('"+previewPic.src+"')";
document.getElementById("image").style.backgroundColor = "#8e68ff";

上面的代碼首先是無效的,你需要為你的 HTML 元素提供一個唯一的 id,比如 -

<img class = "preview"
 id="preview1"
 src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon3.jpg"
 alt = "Young Puppy"
 onmouseover = "upDate(this)"
 onmouseout = "unDo()">

現在您可以使用 id 訪問此 HTML 圖像元素並像這樣更改其 src -

document.getElementById("preview1").src = "hackanm.gif";

如果您使用多個圖像元素,請注意您必須為它們使用不同的 id。

您需要更改以下內容。

  1. div應該有backgroundImage而不是backgroundColor
  2. 你必須這樣設置url "url('" + previewPic.src + "')"
  3. 使用document.getElementById("image").style.backgroundImage = "";unDo()中刪除backgroundImage

您需要更新的只是一行這樣的document.getElementById("image").style.backgroundImage = "url('" + previewPic.src + "')";

在下面檢查您的結果。

 function upDate(previewPic){ // document.getElementById("image").style.backgroundColor = "green"; document.getElementById("image").style.backgroundImage = "url('" + previewPic.src + "')"; document.getElementById("image").innerHTML = previewPic.alt + ". this is onmouseover events"; } function unDo(){ document.getElementById("image").style.backgroundImage = ""; document.getElementById("image").style.backgroundColor = "#8e68ff"; document.getElementById("image").innerHTML = "Hover over an image below to display here."; }
 <div id = "image"> Hover over an image below to display here. </div> <img class = "preview" alt = "Styling with a Bandana" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon.jpg" onmouseover = "upDate(this)" onmouseout = "unDo()"> <img class = "preview" alt = "With My Boy" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon2.JPG" onmouseover = "upDate(this)" onmouseout = "unDo()"> <img class = "preview" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon3.jpg" alt = "Young Puppy" onmouseover = "upDate(this)" onmouseout = "unDo()">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM