3

Masonry并且imagesLoaded应该加载并正常工作。已经建立了一个类似的站点,并且在那里它可以正常工作。我不知道我的问题出在哪里,所以我希望你能看到问题所在。应该少了点什么。

在 Chrome Inspect 中,我收到以下错误:

Uncaught TypeError: $(...).imagesLoaded is not a function

据我所知,这意味着.imagesLoaded应该Masonry正确加载?否则我会收到错误$container.imagesLoaded is not a function

我试过的

  • 检查 jquery-2.1.4.min.js 是否正确加载
  • 更改加载 jquery 的顺序
  • 在线搜索
  • 在 jquery 中搜索错误

标题

<script src="http://www.vekvemedia.no/wp-content/themes/vekvemedia/js/jquery-2.1.4.min.js"></script>
<script src="http://www.vekvemedia.no/wp-content/themes/vekvemedia/js/collection.js"></script>
<?php wp_head(); ?>

HTML

<div class="container">
    <div id="masonry-container" class="row nomargin">
         <div class="col-md-9">
              <div class="item col-lg-4 col-md-4 col-sm-4">
                   <!--- Content --->
              </div>
              <div class="item col-lg-4 col-md-4 col-sm-4">
                   <!--- Content --->
              </div>
              <div class="item col-lg-4 col-md-4 col-sm-4">
                   <!--- Content --->
              </div>
         </div>
         <div class="item col-lg-3 col-md-4 col-sm-3 col-xs-12">
              <!--- Content --->
         </div>
    </div>
</div>

页脚

<script src="http://www.vekvemedia.no/wp-content/themes/vekvemedia/js/masonry.pkgd.min.js"></script>
<script src="http://www.vekvemedia.no/wp-content/themes/vekvemedia/js/imagesloaded.js"></script>

<script>
  $('#masonry-container').imagesLoaded( function(){
    $('#masonry-container').masonry({
     itemSelector: '.item',
     isAnimated: true,
     isFitWidth: true
    });
  });
$(window).resize(function() {
    $('#masonry-container').masonry({
        itemSelector: '.item',
        isAnimated: true
    }, 'reload');
});
</script>

该页面可以在这里找到。

它工作的类似页面

4

1 回答 1

5

看来您有 Javascript 冲突。要解决此问题,您可以将 jQuery 置于无冲突模式。查看 jQuery noConflict函数。

所以试试这个:

jQuery.noConflict();
jQuery( document ).ready(function( $ ) {
 $('#masonry-container').imagesLoaded( function(){
    $('#masonry-container').masonry({
        itemSelector: '.item',
        isAnimated: true,
        isFitWidth: true
    });
 });

 $(window).resize(function() {
    $('#masonry-container').masonry({
        itemSelector: '.item',
        isAnimated: true
    }, 'reload');
 });
});
于 2016-01-20T14:55:12.663 回答