jQuery脚本不会在Tumblr主题中加载

时间:2014-07-27 11:45:54

标签: javascript jquery html css tumblr

我想在我的tumblr主题中使用Jquery脚本,但它不起作用。

这是我的代码:

<html>
    <head>

    </head>

    <body>
            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <script src="http://static.tumblr.com/wgijwsy/jgemkyt9x/jquery.photoset-grid.min.js"></script>


            <script>
                $('.photoset-grid').photosetGrid();
            </script>

            {Block:Posts}
            {block:Photoset}
            <div class="photoset">
                <div class="photoset-grid" data-layout="{PhotosetLayout}">
                    {block:Photos}
                     <img src="{PhotoURL-500}" {block:Caption}alt="{Caption}"{/block:Caption} />
                    {/block:Photos}
                </div>

                {block:Caption}
                {Caption}
                {/block:Caption}
            </div>
            {/block:Photoset}
            {/Block:Posts}     
    </body>     
</html>

它基本上是从此网站复制粘贴的:http://buildthemes.tumblr.com/post/47574959793/responsive-tumblr-photosets-with-jquery-photoset-grid

但它不起作用,我觉得脚本似乎没有加载。也许我把这些脚本标签放在错误的地方?

1 个答案:

答案 0 :(得分:1)

只是为了扩展查理所说的内容(因为你说你是初学者)。

您现在编写的方式,您的代码说:“查找具有photoset-grid类的所有元素,并使用它们执行photosetGrid()函数。”麻烦的是,当这行代码运行时,浏览器不会知道<{1}}类的任何元素的 - 实际上,它不知道任何正文元素,因为浏览器在阅读页面时还没有找到它们。

(但是,您的代码不会出错,因为它说“对所有 photoset-grid元素执行此操作” - 即使有不是该类型的任何元素,因为它仍然可以对它们的所有零点执行操作。)

相反,请使用以下内容替换最终.photoset-grid个标记集之间的内容:

<script></script>

这说的是:“一旦您加载了页面结构并设置了DOM (Document Object Model),就会找到所有$(document).ready(function() { $('.photoset-grid').photosetGrid(); }); 元素并使用它们执行.photoset-grid功能。“