首页 > 解决方案 > 如何使用 ID 或 Class 在一个 amp HTML 文档的不同位置调用一个 Javascript 函数?

问题描述

//调用添加到购物车对这个id执行操作

<amp-script script="addToCart" target="amp-script" data-ampdevmode>
               <button id="bottomSheetView" on="tap:AMP.setState({productId:{id : {{id}}}})" class="btn btn-block btn-sm btn-view">add</button>
</amp-script>

//我想在这个 amp 脚本容器中附加结果或在这个容器中添加任何 div 但脚本将保持相同的 addToCart

<amp-script layout="container" script="addToCart" data-ampdevmode>
    
</amp-script>

<script id="addToCart" type="text/plain" target="amp-script">
    let bottomSheetView = document.getElementById("bottomSheetView");
    if(bottomSheetView)
    {
        bottomSheetView.addEventListener("click",createBottomSheet);
    }
    async function createBottomSheet() {enter code here
        let productId = JSON.parse(await AMP.getState('productId.id'));
        AMP.setState({bottomSheet:false});
        console.log(productId);
    }
</script>


<amp-state id="productId">
  <script type="application/json">
    {
        "id" : ""
    }
  </script>
</amp-state>

标签: javascriptamp-html

解决方案


推荐阅读