草庐IT

关键帧动画

全部标签

javascript - jquery 动画一个 div 到中心

html:cartagena我想要做的是使用Jquery将“动画”div移动到中心。我现在的js:$(document).ready(function(){$("#animate").animate({left:"+=512"},2000);});现在我想把它放在中心,而不是右边512像素处。 最佳答案 我假设#animate的位置是absolute。要使元素在其父元素中居中,只需将其父元素宽度的一半减去其自身宽度的一半添加到left:$("#animate").animate({left:$("#animate").parent(

javascript - node.js 和浏览器之间关键字 "this"的不同行为

我已经尝试在ie、firefox和node.js中使用以下代码varx=10;varo={x:15};functionf(){console.log(this.x);}f();f.call(o);在浏览器中的结果是10、15,但是在node.js中的结果是undefined,15。请向我解释一下“this”关键字在浏览器和node.js中的不同行为是什么?我已经阅读了很多页面,但没有任何明显的答案。提前致谢。 最佳答案 在Nodejs中加载的Javascript文件会自动包装在匿名函数中。所以在Node中你真正运行的是:(funct

javascript - 可以在 RequireJS 模块中使用 'this' 关键字吗?

我定义了一个RequireJS模块(见下文)。它是网站上每个页面都需要的功能的集合。返回对象中的一个函数initTwitter()需要调用同一对象中的另一个函数shortenURL()。我收到一个控制台错误,内容为“TypeError:this.shortenURLisnotafunction.”所有这些函数最初都在一个常规的Javascript单例对象中,代码运行良好。我是RequireJS的新手,所以我不确定this关键字在RequireJS中的工作方式是否不同,或者我只是做错了什么。编辑:我也尝试删除“this”,但我收到“ReferenceError:shortenURLisn

javascript - 如何使用 d3.js 沿 GeoJSON 路径为对象设置动画?

我正在使用D3.js从GeoJSON文件生成和呈现路径。这工作正常,但现在我想沿着那条路径为一个对象设置动画。我知道如何使用D3和标准SVG来做到这一点:创建一个过渡并设置其持续时间对于转换的每一帧,使用%complete找到沿路径的坐标将对象移动到第2步中找到的坐标这很简单。但我遇到的问题是d3.geo.path()似乎不像标准D3路径对象(例如有用的getPointAtLength()方法)那样返回任何长度或位置数据。所以我无法找到某个点的x、y坐标,比如说,沿着路径的25%。有没有办法获取这些数据?(或者是否有更好的方法,例如将d3.geo.path()转换为常规D3路径?)下面

javascript - 检测在不可见和在视口(viewport)外时是否对canvas/css3动画进行了优化

我假设使用HTML5中的所有这些硬件加速动画,实际上不会渲染在视口(viewport)之外运行的动画。我希望能够检测到是否正在发生。我尝试在每秒移动100px的对象上循环使用webkitCSSMatrix来尝试确定每个刻度线移动了多少像素,但是如果我将动画移出视线则没有区别。有任何想法吗? 最佳答案 您可以使用单独的计时器测试来查看伪经验方面在外部和内部绘制的对象之间的差异(计时器实际上并不能证明任何东西,但可以为您提供强大的indisium)。但是,了解Canvas的工作原理也可以为您提供坚实的指导。例如,Canvas是一个简单的

javascript - 为什么 instanceof 关键字不适用于 Backbone js 模型?

我正在构建一个涉及继承和使用instanceofjavascript关键字的BackboneJS应用程序。我有以下代码:app.Sport=Backbone.Model.extend({defaults:{id:0,title:'Running'}});在代码的后面,我通过键入来实例化一个新的Sport:varnewSport=newapp.Sport();我可以毫无问题地操作这个新创建的实例。但是,因为有一个但是,instanceof关键字在询问我的实例类型时总是返回false:console.log('isnewSportaSportinstance?'+newSportinsta

javascript - jQuery/CSS 动画 div 从左到右的宽度

我正在尝试使用jQuery为div设置动画,背景图片的宽度从左到右逐渐减小,同时绝对定位。我需要使其与IE8兼容,因此使用jQuery。这是一个基本的JSFiddle演示链接,包含我目前所拥有的内容,但它是从右到左动画的:JSFiddlelinkjQuery(document).ready(function($){$(document).on('click','.splat',function(e){$(this).animate({width:"0px"},800);});});.splat{width:400px;height:400px;background:blue;posit

javascript - 动画高度自动存储高度 - slideUp with velocity.js

我正在尝试制作一个类似于slideToggle()方法的滑动切换淡入淡出动画,但使用了velocity.js-希望它会更流畅。因为我无法滚动到自动-我将高度放在变量中并使用它来设置高度动画。我遇到的问题是高度值只存储一次,如果页面稍微调整大小,那么这个数字就不再正确了。-另外-因为该区域在页面加载时隐藏,(在它获得初始高度之后)我无法再次检查高度(如果发生窗口大小调整)最后我想把它放到一个函数中,所以保持与它相关的关键。此外,如果您还没有使用过velocity.js,它基本上就像.animate()-所以它并不是问题的一部分。HTMLToggle{{content}}CloseCSS.

javascript - 用于替换 javascript 关键字的预处理器

我正在使用Angularversionofthe$qlibrary然而,这也与originalqlibrary有关.使用示例:$q.when(someFunction).then(function(){//..}).catch(function(){//..}).finally(function(){//..});不幸的是,一些函数名称(例如finally)与javascript关键字冲突。来自Angular引用资料:“因为finally是JavaScript中的保留字,ES3不支持保留关键字作为属性名称,因此您需要调用promise['finally'](callback)使您的代码

javascript - Angular.js 动画

我有一个包含ng-repeat的block,它的定义如下:...目前,我可以通过单击某些元素在这些block之间切换。正如您可能已经猜到的那样,它通过ng-show="isPageSelected(item.page)"工作。一切正常,但它们会立即切换,我想添加一个动画,一个简单的淡入/淡出就可以了。因此,不再选择的block应该淡出,当它消失时,新block应该淡入。当我使用ngAnimate时,它们会同时淡入和淡出。我需要第一个block完全消失并用display:none;隐藏,完成后下一个block应该出现并淡入。使用jQuery时这是一个相当简单的任务,但我该怎么做优雅地使用