javascript - 如何更改 amp-img src?

标签 javascript html amp-html

我在 AMP 中构建一个简单的 HTML 页面时遇到了问题。我想通过 JavaScript 更改 img src 但它似乎不起作用。

HTML:

<amp-img id="logo-cat" src="http/images.." alt="logo-category"

JavaScript:

var logoimg = document.getElementById("logo-cat"); 


    logoimg.src = "https://cdn.vox-cdn.com/uploads/chorus_asset/file/8597673/ph_1_color_black_moon_copy_1000x1000.png";

这似乎行不通。

最佳答案

AMP 不支持 Javascript。使用 amp-bind以更新 [src] 属性。

<amp-state id="images">
  <script type="application/json">
    {
      "imageUrl_1": "http://via.placeholder.com/350x350",
      "imageUrl_2": "http://via.placeholder.com/250x250",
      "imageUrl_3": "http://via.placeholder.com/150x150"
    }
  </script>
</amp-state>
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
    
<button on="tap:AMP.setState({imageUrl: images.imageUrl_1})">Image 1</button>
<button on="tap:AMP.setState({imageUrl: images.imageUrl_2})">Image 2</button>
<button on="tap:AMP.setState({imageUrl: images.imageUrl_3})">Image 3</button>

<amp-img id="amp-img"
  src="http://via.placeholder.com/350x350"
  layout="responsive"
  width="350"
  height="350"
  [src]="imageUrl ? imageUrl : images.imageUrl_1">
</amp-img>

关于javascript - 如何更改 amp-img src?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47059386/

相关文章:

javascript - 请为我解释一下这段 Javascript 代码

javascript - 将输入记录到数组中,仅打印新输入

javascript - 菜单滚动到没有动画的 div

html - CSS3 调整大小属性只允许增加 DIV 大小

seo - 如果任何其他页面启用了 AMP,我们是否需要网站主页的 AMP 页面?

javascript - amp-story 已经注册。 amp-story 的脚本标记可能在页面中包含两次

mustache - AMP : How to handle complex conditional logic in AMP?

javascript - 如何在一台电脑上绘制图像并传播它们?

javascript - Mozilla 在 WebForm_DoPostBackWithOptions JavaScript 函数中获取奇怪的值

css - 将多个 float div 并排居中