发新贴  快速回复

请教一个关于定时器的步长设置问题

knowaeap
2014-09-18 22:42
使用定时器改变一个定位元素的 top 值, 步长,可以像下面加粗的部分那样写:

前面代码省略
.......
var speed = parseInt(getStyle( oDiv, 'top' )) + 12;
.......

中间代码省略

    function getStyle ( obj, attr ) {
return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr];
   }



那么,使用定时器改变一个元素 Transform:translateY()的值步长该如何写呢?


var speed = ???

----------------------------------
先在此谢过...
849800875
不是很理解,可否在清晰点,我们讨论下?
2014-09-18 23:01  回复本帖
knowaeap
forum.php?mod=redirect&goto=findpost&pid=30245&ptid=9373
不是很理解,可否在清晰点,我们讨论下?
怎么说呢,意思就是 通过使用定时器可以逐步的改变一个定位元素的 left 或者 top 等属性  里面设置每次改变的多少的写法是这样的var speed = parseInt(getStyle( oDiv, 'top' )) + 12;

但我现在想通过定时器 改变的是一个元素Transform属性的 translateY()值,那么 设置每次改变多少应该怎么写?


var speed = ???  这后面应该怎么写? 

2014-09-18 23:34  回复本帖
849800875
这个值获取到的是一个字符串,只有用正则或者别的方法把数值拿出来然后才能像之前那样获取之后增加值,仅仅是设置值的话很简单,做个字符串的拼接就好了。目前还不知道别的方法,如果你有了解到希望可以告诉我{:soso_e113:}
2014-09-19 00:37  回复本帖
849800875
forum.php?mod=redirect&goto=findpost&pid=30246&ptid=9373
怎么说呢,意思就是 通过使用定时器可以逐步的改变一个定位元素的 left 或者 top 等属性  里面设置每次改 ...

var i=getComputedStyle(oDiv).webkitTransform;
var arr=i.match(/\-?\d+/g);
var num=arr[arr.length-1];
这样就可以获取到Y的值了,不过只是chrome下,我的fireFox出问题了,没法测试。

2014-09-19 00:54  回复本帖
knowaeap
forum.php?mod=redirect&goto=findpost&pid=30248&ptid=9373
var i=getComputedStyle(oDiv).webkitTransform;
var arr=i.match(/\-?\d+/g);
var num=arr[arr.length-1 ...

火狐下面不行....
2014-09-19 10:20  回复本帖
849800875
forum.php?mod=redirect&goto=findpost&pid=30256&ptid=9373
火狐下面不行....

肯定不行啊,我前边写的webkit啊,fireFox下前缀是moz
2014-09-19 10:24  回复本帖
knowaeap
forum.php?mod=redirect&goto=findpost&pid=30257&ptid=9373
肯定不行啊,我前边写的webkit啊,fireFox下前缀是moz
{:soso_e183:}改成Moz后可以了,m要大写才OK
2014-09-19 10:30  回复本帖
knowaeap
forum.php?mod=redirect&goto=findpost&pid=30247&ptid=9373
这个值获取到的是一个字符串,只有用正则或者别的方法把数值拿出来然后才能像之前那样获取之后增加值,仅仅 ...

取到这个值,修改后怎么赋给原来的那个元素呢,也就是你说的设置用字符串拼接,但Transform:translateY() 的值是在括号里面的,该怎么写呢?
2014-09-19 10:46  回复本帖
knowaeap
forum.php?mod=redirect&goto=findpost&pid=30263&ptid=9373
取到这个值,修改后怎么赋给原来的那个元素呢,也就是你说的设置用字符串拼接,但Transform:translateY( ...

查到一份资料解决了上面的问题了,文章太长,还没仔细看,我把地址贴出来,希望对大家有所帮助...
https://github.com/vastwu/Blog/issues/9

2014-09-19 11:33  回复本帖
登录 后才可以发表回复