2012-04-27 61 views
0

簡短的問題:你如何使用JS/jquery返回某個元素的索引,因爲它的類名是?jquery lavaLamp不適用於WordPress的單一職位

長問題:我一直在這個問題幾個小時,我似乎無法找到解決方案。我有一個WordPress的網站,它使用了一個利用superfish和lavalamp jquery的主題。 lavalamp適用於類別和頁面,但對於單個帖子,lavalamp會繼續顯示列表中的第一項。

值得注意的是,我做了一些嚴重的谷歌搜索,但答案要麼太老,要麼不適合我的情況。我有jQuery 1.7.1,lavaLamp 1.3.3(更新到1.3.5打破了一切)和superfish 1.4.8。

我縮小了調用lavaLamp插件的腳本未返回單個帖子當前類別的正確索引。這裏是什麼樣子:

var active_subpage = jQuery('ul.sf-menu ul li.current-cat, ul.sf-menu ul li.current_page_item').parents('li.top-level').prevAll().length; 
var isHome = <?php if (is_front_page() || is_home()) echo('1'); else echo('0'); ?>; 

if (active_subpage) jQuery('ul.sf-menu').lavaLamp({ startItem: active_subpage }); 
else if (isHome === 1) jQuery('ul.sf-menu').lavaLamp({ startItem: 0 }); 
else jQuery('ul.sf-menu').lavaLamp(); 

如何修改腳本,以便它返回「當前貓」該帖子的指數?我貼了我認爲你需要的東西HERE。你可以看看現場HERE

非常感謝您提前!

回答

1

您的active_subpage查詢只適用於可從子菜單中選擇的元素,第一個選擇器似乎不會匹配任何內容,因爲它在子菜單中查找.current-cat,實際上它頂級菜單。
我認爲這將工作,如果您刪除active_page查詢的第一個選擇器中的第二個<ul>
編輯:
我看到問題,li.current-cat是我們正在尋找的parents('li.top-level')
這兩個查詢可能需要分離。
或改變第一選擇,包括後代(<a>),以便parents('li.top-level')將使比賽

+0

試過了,沒有工作:( 基於此邏輯,第二選擇應該不能工作,但它 – 2012-04-27 19:20:33

+0

有一點調查,我看到你的代碼不存在問題頁面上的內容 – Musa 2012-04-27 19:58:56

+0

OMG你正式成爲我的英雄,這太嚇人了!謝謝!!!!!!! – 2012-04-27 21:13:07

相關問題