Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 放大器中的动态设置状态_Javascript_Amp Html_Amp Bind_Amp Img - Fatal编程技术网

Javascript 放大器中的动态设置状态

Javascript 放大器中的动态设置状态,javascript,amp-html,amp-bind,amp-img,Javascript,Amp Html,Amp Bind,Amp Img,我有这样一种状态: <amp-state id="smartBannerData"> <script type="application/json"> { "0": { "imgSrc": "https://cdn.voicetube.com/assets/img/banners/smartbanner-jp-20200116.

我有这样一种状态:

<amp-state id="smartBannerData">
<script type="application/json">
    {   
        "0":  {
            "imgSrc": "https://cdn.voicetube.com/assets/img/banners/smartbanner-jp-20200116.jpg"
        },
        "1":  {
            "imgSrc": "https://cdn.voicetube.com/assets/img/banners/smartbanner-branding-jp.jpg"
        }
    }
</script>
</amp-state>
<amp-img
      alt=""
      src="https://cdn.voicetube.com/assets/img/banners/smartbanner-jp-191205.png"
      width="500"
      height="100"
      layout="responsive"
      [src]="smartBannerData[currentImg].imgSrc"
    >
</amp-img>
<button on="tap:AMP.setState({currentImg: '0'})">1</button>
<button on="tap:AMP.setState({currentImg: '1'})">2</button>

{   
"0":  {
“imgSrc”:https://cdn.voicetube.com/assets/img/banners/smartbanner-jp-20200116.jpg"
},
"1":  {
“imgSrc”:https://cdn.voicetube.com/assets/img/banners/smartbanner-branding-jp.jpg"
}
}
1.
2.
如果单击按钮,图像将动态更改。 我想在加载页面时随机更改imgSrc:

<amp-script  script="smart-banner">
    <p>
        test
    </p>
</amp-script>

<script id="smart-banner" type="text/plain" target="amp-script">
setTimeout(function(){  AMP.setState({currentImg: '1'}); }, 2000)
</script>


测试

setTimeout(函数(){AMP.setState({currentImg:'1'});},2000)

但形象不会改变。。我是AMP的新手,有人能帮我解决这个问题吗?

你能试试下一种方法吗

<button on="tap:AMP.setState({currentImg: floor(random()*(100-0)+0) })"></button>


最大值为100,最小值为0。如果您愿意,可以更改此freshold

致以最良好的祝愿,
V.

你能试试下一种方法吗

<button on="tap:AMP.setState({currentImg: floor(random()*(100-0)+0) })"></button>


最大值为100,最小值为0。如果您愿意,可以更改此freshold

致以最良好的祝愿,
V.

您必须添加onclickevent@PRADIPGORULE我将隐藏按钮,因此无法使用click事件。@AirNoir我认为您需要服务器端。使用amp列表并从那里的服务器发送数据。amp脚本最好在触发事件(如单击)后使用。您必须添加onclickevent@PRADIPGORULE我将隐藏按钮,因此无法使用click事件。@AirNoir我认为您需要服务器端。使用amp列表并从服务器发送数据。amp脚本最好在触发事件(如单击)后使用。