Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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生成HTML元素时,放大弹出窗口不起作用_Javascript_Jquery_Html_Popup_Magnific Popup - Fatal编程技术网

Javascript-使用Javascript生成HTML元素时,放大弹出窗口不起作用

Javascript-使用Javascript生成HTML元素时,放大弹出窗口不起作用,javascript,jquery,html,popup,magnific-popup,Javascript,Jquery,Html,Popup,Magnific Popup,我有一个关于放大弹出窗口的问题,所以每当我在HTML中键入代码时,它就会工作,但是每当我尝试使用Javascript生成带有弹出菜单的HTML元素时,弹出窗口就不会出现 这里是我的HTML代码,用HTML代码显示弹出窗口及其工作状态 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Com

我有一个关于放大弹出窗口的问题,所以每当我在HTML中键入代码时,它就会工作,但是每当我尝试使用Javascript生成带有弹出菜单的HTML元素时,弹出窗口就不会出现

这里是我的HTML代码,用HTML代码显示弹出窗口及其工作状态

    <!DOCTYPE html>
     <html lang="en">
    <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>
    <body>
  <div class="right-side">
    <div class="logo"></div>
    <div class="right-content">
        <div class="right-content-row profile">
            <h6>Welcome,</h6>
            <p><b id='customer_email' name ='customer_email'></b></p>
            <!--You are being served by <br><br> <b id ='emp_name' name='emp_name'></b>-->
        </div>
                    <div class="right-content-row order-total">
            TOTAL <span>150</span>
        </div>
        <div class="right-content-row poweredby">
            <p>POWERED BY <span class="logo-ifabula" onClick="document.location='http://ifabula.com'" style="cursor:pointer"></span></p>
        </div>
    </div>
</div>

<div class="left-side">
    <div class="top-nav">
        <ul id='tab' name='tab'>

        </ul>
    </div>

    <div class="sub-nav">
        <ul id='tab_child' name='tab_child'>

        </ul>
    </div>
    <div class="left-side-content">
        <div class="catalog-content">
            <b id='prod_item'></b>
            <div id='prod_item_display'>

            </div>  
            <!--<h1>Raciones</h1> -->
            <b id='ts'>
            <ul>
                <li>
                    <a class="open-popup-link" href="#popup-product">
                    <img src="http://localhost/tapas//img/prod_gallery/Aglio_Salmon_thumb.jpg">
                    <h2>Aglio Salmon</h2>
                    <p class="price">70,000</p>
                    </a>
                </li>
                <li><a href="#popup-product" class="open-popup-link">
                    <img src="images/img-product.jpg" />
                    <h2>Olives</h2>
                    <p class="price">30</p> 
                </a></li>
            </ul>
            </b>


        </div>
        <p class="footnote" style="display:none;">All prices in thousand Indonesian Rupiah. Prices can be change in anytime without notice. Tax & Service charges are not included!</p>
    </div>

</div>
<p id='popup_item' name='popup_item'></b>
<div id="popup-product" class="popup-product mfp-hide">
    <div class="popup-product-img">
        <img src="images/img-product.jpg" />
        <h1>Bread with Tomato Sauce & Iberico Ham</h1>
    </div>
    <p class="popup-product-description">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>
    <div class="popup-product-option">
        QUANTITY &nbsp; <input id="down" onClick="setQuantity('down');" type="button" class="minus" /> <input id="quantity" type="text" value="1" min="0" /> <input id="up" onClick="setQuantity('up');" type="button" class="plus" /> <input type="submit" value="ORDER" />
    </div>
</div>

<!-- jQuery 1.7.2+ or Zepto.js 1.0+ -->

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>     
<!--<script src="http://code.jquery.com/jquery-1.9.0.js"></script> -->
<!-- Magnific Popup core JS file -->
<script src="js/catalog2.js"></script>
<script src="js/jquery.magnific-popup.js"></script>
<script src="js/jquery.jscrollpane.min.js"></script>
<script src="js/jquery.mousewheel.js"></script>
<script src="js/default.js"></script>
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/jquery.jscrollpane.css">
<link rel="stylesheet" href="css/magnific-popup.css"> 

<script type="text/javascript" src="js/jquery.smartCart-2.0.js"></script>

</body>
</html>
这里是Javascript代码,用于从JSON返回生成项目列表,弹出窗口不起作用

$.ajax({
                    type: "POST",
                    url : "http://127.0.0.1/menu/menu_controller/display_child_item/"+child_category_id[item_child],
                    data : "CategoryUUID="+child_category_id,
                    dataType: "json",
                    success: function(result_item)
                    {
                        for (var prod_item in result_item)
                        {
                            x = x+1;
                            if(x == 1)
                            {

                                prod_display.push('<h1>'+child_name[0]+'</h1>');
                                prod_display.push('<ul>');

                                prod_display.push("<li><a class='open-popup-link' href='#popup-product'><img src='http://localhost/tapas/"+result_item[prod_item].image_thumbnail.toString()+"'/><h2>"+result_item[prod_item].product_name.toString()+"</h2><p class='price'>"+numberWithCommas(result_item[prod_item].price.toString())+"</p></a></li>");                                      
                                popup_product.push('<div id="popup-product'+result_item[prod_item].ProductUUID.toString()+'" class="popup-product mfp-hide"><div class="popup-product-img"><img src="images/img-product.jpg" /> <h1>Bread with Tomato Sauce & Iberico Ham</h1></div><p class="popup-product-description">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p><div class="popup-product-option">      QUANTITY &nbsp; <input id="down"  type="button" class="minus" /> <input id="quantity" type="text" value="1" min="0" /> <input id="up"  type="button" class="plus" /> <input type="submit" value="ORDER" /></div></div>');       
                            }
                            else if(x != 1)
                            {
                                prod_display.push('<li><a id="test" class="open-popup-link" href="#popup-product" class="open-popup-link"><img src="http://localhost/tapas/'+result_item[prod_item].image_thumbnail.toString()+'"/><h2>'+result_item[prod_item].product_name.toString()+'</h2><p class="price">'+numberWithCommas(result_item[prod_item].price.toString())+'</p></a></li>');                                        
                                popup_product.push('<div id="popup-product'+result_item[prod_item].ProductUUID.toString()+'" class="popup-product mfp-hide"><div class="popup-product-img"><img src="images/img-product.jpg" /> <h1>Bread with Tomato Sauce & Iberico Ham</h1></div><p class="popup-product-description">Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p><div class="popup-product-option">      QUANTITY &nbsp; <input id="down"  type="button" class="minus" /> <input id="quantity" type="text" value="1" min="0" /> <input id="up"  type="button" class="plus" /> <input type="submit" value="ORDER" /></div></div>');                           

                            }

                        }
                        prod_display.push('</ul>');


                        document.getElementById("prod_item_display").innerHTML = prod_display.join('');

                    }
你能帮我找出解决这个问题的办法吗。已经做了无数的尝试和错误,但没有运气:

尝试下面的代码。它是有用的


添加放大弹出事件。在哪个元素上单击要打开放大弹出事件。是的,我认为这是根本原因。无论如何,谢谢你的洞察力。另一件事是如何显示JSON返回的每个项目列表的弹出窗口?您需要将JSON数据转换为dom元素。然后按照我在回答中提到的方式分配事件。。如果我的答案有助于你投票或接受答案,你能给我一些示例代码以便更好地理解吗?检查这把小提琴
$(document).on('click', '.open-popup-link',function(){
  var popupSRC = $(this).parent('li').next('div.popup-product');
  $.magnificPopup.open({
      items: {
          src: popupSRC,
      },
      type: 'inline'
  });
});