使用Ajax在弹出窗口中加载数据

时间:2013-07-13 17:12:50

标签: ajax jquery magnific-popup

我在我的网站上使用magnificient popup,我想在点击链接时执行ajax函数,查询结果应该是弹出窗口的内容。

这是我的代码(我在JQuery中很新):

<script>
  function showPics(str)
  {
    if (str=="")
    {
      document.getElementById("displayPics").innerHTML="";
      return;
    } 

    xmlhttp=new XMLHttpRequest();

    xmlhttp.onreadystatechange = function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("displayPics").innerHTML=xmlhttp.responseText;
      }
    }

    xmlhttp.open("GET","getpics.php?q="+str,true);
    xmlhttp.send();
  }
</script>

<a class="1-popup" href="#">Guerlain</a>

<script type="text/javascript">
    $('a').click(function() {
        showPics($(this).attr('class').charAt(0)), //Ajax function call
        $(this).magnificPopup({ //Popup call
            type:'inline',
            midClick: true,
            closeBtnInside:true
        });
    });
</script>

<div id="displayPics"><b>Pictures will be listed here.</b></div>

内容已加载,但弹出窗口未加载。

1 个答案:

答案 0 :(得分:0)

以下是我的问题的解决方案:

<a class="1-popup" href="#displayPics">Guerlain</a>

<script type="text/javascript">
    $('a').click(function(){
        showPics($(this).attr('class').charAt(0)) //Ajax function call
    });
</script>

<script type="text/javascript">
    $('a').magnificPopup({ //Popup call
        type:'inline',
        midClick: true,
        closeBtnInside:true
    });
</script>

<div id="displayPics" class="white-popup mfp-hide"><b>Pictures will be listed here.</b></div>

谢谢大家。