我想将jQuery脚本用于tumblr主题,但不起作用。
这是我的代码:
<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
但是我认为它不起作用,脚本似乎没有加载。也许我把那些脚本标签放错了地方?
最佳答案
只是为了扩展Charlie所说的(因为您说自己是对此的初学者)。
您现在编写的方式是,代码中说:“查找所有具有photoset-grid
类的元素,并对它们执行photosetGrid()
功能。”麻烦的是,当这行代码运行时,浏览器不知道photoset-grid
类的任何元素-实际上,它根本不了解任何主体元素,因为浏览器没有在阅读页面时尚未找到他们。
(但是,您的代码没有给出错误,因为它说“对所有.photoset-grid
元素执行此操作”-即使没有该类型的任何元素,此操作也可以成功运行,因为它仍然可以执行对它们全部为零的操作。)
而是用以下内容替换最后一组<script></script>
标记之间的内容:
$(document).ready(function() {
$('.photoset-grid').photosetGrid();
});
这就是说:“一旦您加载了页面结构并设置了DOM (Document Object Model),然后找到所有
.photoset-grid
元素并对其进行photosetGrid()
功能。”关于javascript - jQuery脚本未在Tumblr主题中加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24980598/