巨大的弹出窗口不起作用

时间:2014-01-17 07:06:09

标签: javascript jquery magnific-popup

我正在使用Magnific Popup。

$(document).ready(function() {
  $('.image-viewer').magnificPopup({
      type: 'ajax'
  });
});

这是html:

<a href="/site-media/{{ photo.image }}" class="image-viewer"><img class="fest-content-event-content-photo" width = "100%" src="/site-media/{{ photo.thumbnail2 }}" /></a>

但是,它无效并且控制台显示错误:

 Uncaught TypeError: Property '$' of object [object Object] is not a function (index):30
(anonymous function) (index):30
fire jquery.js:3048
self.fireWith jquery.js:3160
jQuery.extend.ready jquery.js:433
completed

有什么问题?我没有两次加载tje jquery.js文件。

3 个答案:

答案 0 :(得分:3)

首先,确保您已正确包含jQuery库:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

其次,也许jQuery与其他库之间存在冲突,您可以尝试使用:

jQuery(document).ready(function ($) {
     $('.image-viewer').magnificPopup({
          type: 'ajax'
     });
});

答案 1 :(得分:0)

听起来你有冲突..尝试在$函数中添加document.ready

$(document).ready(function($) {
  $('.image-viewer').magnificPopup({
      type: 'ajax'
  });
});

或将$替换为jQuery

jQuery(document).ready(function(){
      jQuery('.image-viewer').magnificPopup({
          type: 'ajax'
      });
}

答案 2 :(得分:0)

确保将 JQuery 和 Magnific js 链接放在要执行的代码之前。

类似于以下内容:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="jquery.magnific-popup.min.js"></script>
  <script>
    $(document).ready(function () {

      $('#some-btn').magnificPopup({
        items: [
          {
            src: './9414795.jpg'
          }
        ],
        gallery: {
          enabled: true
        },
        type: 'image'
      });
    });
  </script>