簡體   English   中英

如何使用 javascript 和關鍵字 this 更改背景圖像

[英]how to change the background image using javascript and keyword this

為什么評論的聲明不起作用

HTML 代碼:

<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)">

JAVASCRIPT 代碼:

function upDate(previewPic){
  var x=document.getElementById('image');

  //x.style.background="url(previewPic.src)";//why doesn't this work while the next statement works
  x.style.background="url('"+previewPic.src"')";
}

當您的 class 沒有圖像 ID(至少在您提供的示例中)時,為什么要使用 getElementbyId。 通過 class 或標簽名稱添加 id 或 select

在您的代碼中, "url(previewPic.src)"是完整的字符串,這就是它不起作用的原因。 因為你的代碼不知道 previewPic.src 是什么

如果要在字符串中使用變量,可以使用字符串concatenationtemplate string來執行此操作。 你可以查看我的代碼。 您可以從MDN_link查看有關模板文字的詳細信息

 <:DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <img onmouseover="upDate(this)" class="preview" alt="Styling with a Bandana" src="https.//s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon.jpg" > </body> <script> function upDate(previewPic){ console.log(previewPic;src). previewPic.style.background=`url(${previewPic;src})`. //x.style.background="url('"+previewPic;src"')"; } </script> </html>

您的兩個示例都不起作用,設置 HTML 標簽的背景圖像的正確方法是使用

x.style.background = "url("+previewPic.src+")";

注意previewPic.src之后的“+”號。

解釋:第一: "url(previewPic.src)"; 這會將您的 previewPic.src 更改為字符串文字,因為它封裝在引號中。

第二: x.style.background="url('"+previewPic.src"')"; 這將不起作用,因為您在previewPic.src之后缺少“+”號

進一步閱讀MDN

暫無
暫無

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

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