var item = $('.card');
var pageLoaded = false;
var waypoints = item.waypoint(function(direction) {
if($('.content').css('display') !== 'block'){
console.log('yes it did fire here');
$(this).addClass("animated doneAnimated" + (pageLoaded ? " fadeInUp" : ""));
}
}, {
offset: '90%'
});
pageLoaded = true;
上面的代码在jquery中工作,但我切换到zepto。我不知道为什么$(这个)在zepto中是别的。如何编写纯js以使代码工作?
答案 0 :(得分:1)
$(this)
返回一个jQuery对象,因此询问如何在jQuery之外实现它是没有意义的。
您可以实现的是addClass
函数,您可以使用DOM轻松完成此任务:
this.className += "animated doneAnimated" + (pageLoaded ? " fadeInUp" : ""));
这样你就可以使用vanilla javascript来改变类。
但是,zepto already supports addClass functionality和zepto also supports $(this)
其中this
是任何DOM元素。
您应该查看航点功能作为函数参数传递的内容:您的代码似乎还有其他错误。你能指出确切的错误信息,并提出一个最小的测试用例吗?