我正在继续学习流星,它正在慢慢融合在一起,并且正在从本教程中构建一些东西。我想添加一些其他的非功能性JS动画等,并决定以我熟悉的Greensock为例。我已经将CDN包含到main.html主体中的TweenMax中,并一直在模板帮助器中对其进行调用。
Main.html:
<head>
<title>NO-TEA-FY</title>
<link rel="stylesheet" href="css/noteafy.css" id="stylesheet">
模板:
<template name="mainInit">
<div class="teaContainer">
<h1 class="superJumboHeader">Tea</h1>
</div>
模板助手:
$(document).ready(function(){
// If the user doesn't click on Tea within 3 seconds of arriving, shake the word
setTimeout(function () {
var teaCont = $(".teaContainer");
TweenMax.to(teaCont, 1, {css:{"margin-top":"25%"}, ease:Power3.easeOut});
}, 3000);
});
jQuery的运行没有错误,但是我得到了:
未捕获的ReferenceError:未定义TweenMax。
我想知道为什么找不到TweenMax但可以找到JQuery吗?
谢谢。
最佳答案
我尝试在GSAP论坛上回答相同的问题:http://forums.greensock.com/topic/9575-using-greensock-with-meteor/#entry38773
为了能够从CDN加载GSAP,您需要安装名为“外部文件加载器”的Meteor插件。
采用:
mrt add external-file-loader
安装插件。
这是您需要的方法:
方法
loadJs(url,callback,timeoutDelay)-从URL加载外部JS。加载网址后即会调用回调。 TimeoutDelay是超时之前的延迟,以毫秒为单位。 Callback和timeoutDelay是可选的。该方法返回一个jQuery Promise。
如果使用Iron路由器,最好将外部脚本加载到waitOn()函数上,以确保它们在页面加载之前已加载。
如果您不使用Iron-Router,则可以在Template.created()回调中使用外部文件加载器加载GSAP CDN。
Template.Templatename.created = function() {
Meteor.Loader.loadJs("//cdnUrl");
}
您也可以加载多个脚本。我已经为我使用的流星亲自创建了一个本地GSAP插件。那是因为我有Greensock的高级会员。我将看看是否可以在Github上安装免费版本的GSAP插件。
希望对您有所帮助
普兰尼:)
关于jquery - 与 meteor 一起使用Greensock,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23769703/