将jQuery函数转换为JavaScript GSAP

法希姆·阿赫塔(Fahim Akhtar)

我正在使用GSAP库做一些实验,发现乔纳森(Jonathan)的一支笔

http://codepen.io/jonathan/pen/qxsfc 

这几乎是我所需要的。我分叉了那支笔,制成了自己的笔,现在我正尝试在香草js中将其转换,但第一步是它本身无法正常工作。我已经将匿名函数转换为命名函数,并调用window.onload及其工作。但是现在我必须将jquery选择器的所有$调用替换为本机选择器,并且在我更改时不起作用

    var animContainer = $('.animContainer'),
to     var animContainer = document.querySelector('.animContainer'),

我的笔是

`http://codepen.io/osricmacon/pen/HAnrt`

关于如何将jquery转换为vanilla js的任何其他建议

TJ人群

querySelector在找到的第一个元素处停止,并返回对该元素的引用(或者null如果找不到)。类似于jQuery的$()querySelectorAll,它查找所有匹配的元素并返回a NodeList(如果未找到则为空)。

与此分开的是,关于jQuery的关键是它是基于集合的,而DOM API不是。当您将一个转换为另一个时,这可能是您要处理的最大事情。

例如,在jQuery中,这会将所有div元素的HTML设置为“嘿”:

$("div").html("hey");

使用DOM API的等效内容可能如下所示:

var list = document.querySelectorAll("div"); // Or .getElementsByTagName
var i;
for (i = 0; i < list.length; ++i) {
     list[i].innerHTML = "hey";
}

减少繁琐程度的一种常见方法是重用ArrayforEach功能(这是ES5,但可以针对较旧的浏览器进行填充),如下所示:

// You'd probably do this once and reuse it
var forEach = Array.prototype.forEach;

// Where you want to use it:
forEach.call(document.querySelectorAll("div"), function(div) {
    div.innerHTML = "hey";
});

或者,当然,要有一个实用功能的工具带来做这些事情。当然,这正是jQuery是什么。

最后,在许多情况下,jQuery重用与setter和getter相同的功能。html功能,比如,设置在jQuery的集合中的元素的HTML,当你给它一个说法,但得到的的HTML第一,如果你不这样做的一组元素:

$("div").html("hey");         // Sets the HTML of all divs
console.log($("div").html()); // Gets the HTML of the *first* div

请注意非对称性:设置适用于集合中的所有元素,但获取仅适用于集合中的第一个元素(忽略任何其他元素)。这是对所有做双重职责职能的真实(htmlcssvalattrprop,...)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript或JQuery加载GSAP

来自分类Dev

使用GSAP动画化SVG模式转换

来自分类Dev

将卡旋转回onclick GSAP

来自分类Dev

CSS和gsap JavaScript在我的文件中不起作用

来自分类Dev

将jQuery函数转换为纯JavaScript

来自分类Dev

将 jquery 转换为普通的 javascript 函数

来自分类Dev

无法使用 GSAP 内部函数来定位舞台上的 MovieClip (Animate CC)

来自分类Dev

gsap&Angular - onComplete 触发函数但不能改变变量值

来自分类Dev

将时间轴A放入时间轴B和C(GSAP)

来自分类Dev

如何使用Bower将'animation.gsap'包含在scrollmagic中

来自分类Dev

GSAP TimeLineLite.to()将变量传递给第三个参数不起作用。

来自分类Dev

将GSAP的scrollToPlugin与create-react-app一起使用时出错

来自分类Dev

GSAP 和 jQuery:在下一页加载时播放动画

来自分类Dev

GSAP绩效与结构

来自分类Dev

GSAP的视差效果

来自分类Dev

Ionic 中的 GSAP DrawSVGPlugin

来自分类Dev

如何反转 GSAP 动画

来自分类Dev

将JavaScript函数转换为

来自分类Dev

从JavaScript函数转换为jQuery

来自分类Dev

将jquery的每个函数转换为纯javascript

来自分类Dev

将 JavaScript 函数转换为 jQuery - 选择选项列表

来自分类Dev

将JavaScript转换为jQuery

来自分类Dev

将'$(this)'jQuery转换为javascript'this'

来自分类Dev

javascript,将函数转换为函数

来自分类Dev

将Javascript函数转换为AngularJS函数

来自分类Dev

javascript,将函数转换为函数

来自分类Dev

Javascript将函数转换为箭头函数

来自分类Dev

尝试在GSAP中使用staggerTo

来自分类Dev

GSAP 时间轴动画