2014-03-31 37 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

这一定是因为它解决了我的问题!再次感谢你。 –