Magnific - 传递变量javascript问题

时间:2015-10-26 18:46:41

标签: javascript c# asp.net magnific-popup

在我的页面上单击链接时,它会显示一个警告,其中包含相关项目的ID。但接下来发生的事情(使用包含该ID的URL +查询字符串触发弹出窗口)显示为未定义。所以我只想弄清楚为什么变量ID在调用弹出窗口时没有保持该值。

编辑:现在使用当前更改,需要2次点击才能使用正确的查询字符串/ ID显示弹出窗口。有任何想法吗?将.magnificPopup更改为.magnificPopup.open时,无法执行任何操作。

编辑:现在正在运作。固定行:$ .magnific.open删除与其绑定的类名。现在一切都很完美。谢谢你的帮助!

<head><meta charset='UTF-8'> 

<link rel='stylesheet prefetch' href='magnific-popup/magnific-popup.css'>
</head><body>   
<script src='magnific-popup/jquery-2.1.4.min.js'></script>
<script src='magnific-popup/magnific-popup.js'></script>
<script type="text/javascript"> 
    $(document).ready(function () {
        $('.simple-ajax-popup2').click(function () {
            ID = $(this).data("var1");
           // alert(""+ID+"");
            $.magnificPopup.open({
            items: {
                src: 'Test.html?ID='  + ID + '' 
            },
            type: 'iframe',
        });
        }); 


    });
</script>
<a class="simple-ajax-popup2" data-var1="1" href='#' >
    test 1
</a> <br>
<a class="simple-ajax-popup2" data-var1="2" href='#' >
   test 2
</a> <br>
<a class="simple-ajax-popup2" data-var1="3" href='#' >
   test 3
</a> 
</body></html>

1 个答案:

答案 0 :(得分:0)

你应该在click事件的函数中调用你的弹出窗口,否则,在执行magnificPopup时,ID仍未定义:

$(document).ready(function () {
     $('.simple-ajax-popup2').click(function () {

          ID = $(this).data("var1");
          alert(""+ID+"");
          $('.simple-ajax-popup2').magnificPopup.open({
               items: {
                   src: 'Test.aspx?ID='  + ID + "" 
               },
               type: 'iframe',
           });
      });
});