2014-07-27 62 views
0

我想爲我的tumblr主題使用jquery腳本,但它不起作用。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

但它沒有作品,劇本似乎並不被加載,我想。也許我把那些腳本標籤放在錯誤的地方?

+0

在[ready handler](http://api.jquery.com/ready/)中包裝代碼 – charlietfl

+0

沒有代碼的問題不是面向未來的。如果鏈接中斷,未來其他人如何從這個問題中獲利? **請將您的*相關*代碼直接放在問題中。** –

回答

1

只是爲了擴大查理說的話(因爲你說你是這個初學者)。

你現在編寫它的方式,你的代碼說:「找到所有具有photoset-grid類的元素,並使用它們做photosetGrid()函數。」麻煩在於,當這行代碼運行時,瀏覽器不知道photoset-grid類的任何元素的 - 事實上,它根本不知道任何主體元素,因爲瀏覽器沒有「在閱讀頁面時,他們還沒有得到。

(您的代碼不給一個錯誤,但是,因爲它說:「這樣做是爲了.photoset-grid元素的所有」 - 這成功運行,即使有該類型的任何元素,因爲它仍然可以在他們的所有零執行的操作)

相反,更換什麼用以下的最後一組<script></script>標籤之間在:

$(document).ready(function() { 
    $('.photoset-grid').photosetGrid(); 
}); 

它說的是:「一旦你已經加載了頁面結構a nd設置DOM (Document Object Model),然後查找所有的.photoset-grid元素,並使用它們執行photosetGrid()函數。「