2014-03-31 74 views
0

我是Meteor新手,所以我嘗試了一些代碼。我正在測試一個jQuery插件,以帶來時尚的圖像懸停效果,並且它在我不使用Iron路由器但是簡單的模板 - {{> home}}不是{{> yield}}時起作用。 所以,我有一個簡單的masterLayout模板:jQuery插件不能與鐵路路由器一起使用

<template name="masterLayout"> 
    <p> Base Layout!</p> 
    <img id="chard" src="chard.png"/> 
    {{> yield}} 
</template> 

和測試主頁:

<template name="home"> 
    <p> HOME page! </p> 
    <img id="home" src="image.png"/> 
</template> 

我所說的jQuery插件上的另一個js文件:

$('#home, #chard').adipoli({ 
    'startEffect' : 'normal', 
    'hoverEffect' : 'popout' 
}); 

我使用鐵路路由器進行路由,它的工作原理除了jQuery效果沒有。 我已經嘗試了幾個鉤子,只在主佈局中實現了圖像響應,而不是在主頁上的圖像。 所以,這應該是非常簡單的,但事實上,我無法使它工作... 有人可以幫我嗎?

+0

你把jQuery代碼放在home-template的render-callback中嗎? – chaosbohne

+0

對不起,但你到底意味着什麼?我試圖在鐵路路由器中放置一個動作,還有一些onRun掛鉤... –

+0

嗯,我想我理解你的意思,我試過了,它似乎工作。謝謝!我現在的問題是:當我不使用Iron Router時,爲什麼我不需要將jQuery代碼放在home-template的回調回調中? –

回答

1

也許jquery代碼沒有執行,因爲模板不在DOM中。我不知道你的插件是如何工作的,但經常喜歡谷歌地圖的JavaScript附加在模板的呈現回調。

<template name="home"> 
<p> HOME page! </p> 
<img id="home" src="image.png"/> 
</template> 

Template.home.rendered({ 
    $('#home, #chard').adipoli({ 
    'startEffect' : 'normal', 
    'hoverEffect' : 'popout' 
    }); 
}); 
+0

這一定是因爲它解決了我的問題!再次感謝你。 –