Как реализовать addthis share с помощью infinte scroll и masonry


я реализовал бесконечную прокрутку с кирпичной кладкой. Я застрял в кнопке добавления addthis, которая не работает, когда я прокручиваю к следующей загрузке изображений, отображается кнопка addthis, но она не делится соответствующими изображениями.

если я удалю следующие три строки из функции кладки

 addthis.toolbox('.addthis_toolbox');<br/>
 addthis.counter('.addthis_counter');<br/>
 addthis.init();

Я могу видеть только кнопку добавления addthis в первом списке изображений после того, как прокручиваю к следующему списку изображений, доля addthis скрыта

Код JavaScript

 <script type="text/javascript">var addthis_config = { "data_track_addressbar": false ;</script>
<script src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-4e142f1d185c5361"></script>

<script src="js/jquery.masonry.min.js"></script>
<script src="js/jquery.infinitescroll.min.js"></script>

<script type="text/javascript">


    $(function () {

        var $container = $('#container');

        $container.imagesLoaded(function () {
            $container.masonry({
                itemSelector: '.box',
                columnWidth: 95
            });

        });

        $container.infinitescroll({
            navSelector: '#page-nav',    // selector for the paged navigation
            nextSelector: '#page-nav a',  // selector for the NEXT link (to page 2)
            itemSelector: '.box',     // selector for all items you'll retrieve
            loading: {
                finishedMsg: 'No more photos to load.',
                img: 'http://i.imgur.com/6RMhx.gif',

            }
        },
            // trigger Masonry as a callback
            function (newElements) {
                // hide new items while they are loading
                var $newElems = $(newElements).css({ opacity: 0 });
                // ensure that images load before adding to masonry layout
                $newElems.imagesLoaded(function () {
                    // show elems now they're ready
                    $newElems.animate({ opacity: 1 });
                    $container.masonry('appended', $newElems, true);
                    addthis.toolbox('.addthis_toolbox');
                    addthis.counter('.addthis_counter');
                    addthis.init();

                });
                $('.listing_img_wrapper').hover(
                    function () { $(this).find('.hover_img').fadeIn("slow"); },
                    function () { $(this).find('.hover_img').fadeOut("slow"); }
                );
                //   console.log("called");
                //   window.addthis.toolbox('.addthis_toolbox');
            }
        );

    });
</script>

1 ответ

Решение

Я решил решение, добавив

addthis.counter('.addthis_counter');

а также

 if (window.addthis) {
            window.addthis.ost = 0;
            window.addthis.ready();
  }
Другие вопросы по тегам