3 回答
TA贡献1772条经验 获得超6个赞
当您使用 时image.src,它会返回图像的完整路径。在这种if情况下,您只检查图像的相对路径。要检查图像的相对路径,可以使用image.getAttribute('src').
function toggle(image) {
if (image.getAttribute('src') == "data/pause.png") {
image.setAttribute('src', 'data/play.png');
} else {
image.setAttribute('src', 'data/pause.png');
}
}
<body>
<div class="newsDiv">
<div class="left">Latest</div>
<div id="news" class="marquee"></div>
<img id="toggle" class="right" src="data/pause.png" onclick="toggle(this)">
</div>
<div id="detail" class="detail">
</div>
</body>
TA贡献1765条经验 获得超5个赞
我没有发现您的切换逻辑有任何问题。您唯一需要考虑的是使用而不是. 这是因为img.getAttribute('src')
img.src
img.getAttribute('src')
- 为您提供 HTML 标记设置的实际值img.src
- 源的有效绝对路径
function toggle(img) {
// var playSrc = "data/play.png"; // to use your file instead
var playSrc = "https://cdn.iconscout.com/icon/premium/png-256-thumb/play-button-1516951-1285078.png";
// var pauseSrc = "data/pause.png"; // to use your file instead
var pauseSrc = "http://www.pngall.com/wp-content/uploads/5/Pause-Button-Transparent.png";
if (img.getAttribute('src') != pauseSrc)
{
img.setAttribute('src', pauseSrc);
}
else // The part if (image.src == "data/pause.png") is redundant
{
img.setAttribute('src', playSrc);
}
}
这样一来,标签中有很多垃圾<head>,您需要将其删除(我已将它们放在下面)。可能是因为这个原因,代码无法工作。
<script id="news-detail-template" type="text/html">
<img class='news_photo' src='{{photo}}' >
<div class='news_heading'>{{heading}}</div>
<div class='date'>{{Date}}</div>
<div class='news_detail'>{{details}}</div>
</script>
<script id="news-item-template" type="text/html">
<div news_id='{{id}}' class='news_item' > {{heading}} </div>
<img class='news_img' src='data/NBA.jpg'>
</script>
添加回答
举报