解决JS setTimeout 传入参无效果问题
来源:互联网 发布:c语言的省略号怎么打 编辑:程序博客网 时间:2024/05/16 09:53
自己写了一个文字的水平滚动的效果.JS代码如下:
var tag = 0; //若不设置为全局变量,不会左移 function wordflow(id,minflow,maxflow){ var OText = document.getElementById(id)||document.getElementsByClassName(id)[0];// alert(typeof(OText)); var currentLeft = parseInt(window.getComputedStyle(OText,null).left)||parseInt(OText.style.left); console.log(currentLeft); //右移 if(currentLeft<maxflow &&tag==0){ currentLeft++; if (currentLeft==maxflow) { tag = 1; } } //左移 if(currentLeft>minflow &&tag==1) { currentLeft--; if (currentLeft==minflow) { tag =0; } } OText.style.left = currentLeft + "px"; // console.log(OText.style.left); var timer = setTimeout(wordflow(id,minflow,maxflow),30); }; window.onload=function(){ wordflow('words',200,500); console.log("123"); };
CSS部分:
#words{ position:absolute; left:200px; top:100px; font-family:'宋体'; font-size:30px; color:red; overflow:hidden; }
HTML部分:
<body><div id = "words" > 今天的天气虽然下雨,但心情还是不错哦!</div> </body>
运行完成之后发现报错如下图所示
经过查阅资料后,发现setTimeout需要传入函数指针,所以将setTimeout此段代码更改如下:
wordflow.bind(null,id,minflow,maxflow) 采用函数时间绑定的方式.运行之后发现文字能按预期的水平循环滚动.
阅读全文
0 0
- 解决JS setTimeout 传入参无效果问题
- 解决 js setTimeout 传递带参数的函数无效果
- 解决 setTimeout 传递带参数的函数无效果
- JS setTimeout没有效果
- 解决setTimeout传参类型的问题
- 使用.live()可以解决动态加载html,但js无效果的问题
- 解决height:auto无效果的问题
- js 动画效果代码,主要运用setTimeout
- 【javascript】解决setTimeout不能传参的问题
- 解决IOS7中LayoutConstraint动画无效果的问题
- 百度分享异步加载问题、分页,无效果解决
- 使用with解决传入入参可变的问题
- 解决js中setTimeout()函数的兼容问题
- 解决setTimeout 计时器重复调用的问题
- js setTimeOut() 方法传参
- js性能与setTimeout 的问题
- JS中setTimeout传值问题
- js for循环中加settimeout问题
- git图形化工具GitKraken的使用——分支管理策略
- 传世经典书丛
- 面试题6:重建二叉树
- 生成getset代码工具类
- linux线程同步与互斥-读写锁
- 解决JS setTimeout 传入参无效果问题
- Maven
- append()与prepend()的区别
- centos7编译安装redis
- JRE和JDK区别
- 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!
- window、location、location.href、self、top简单介绍
- POI读取Excel常见问题
- 序列向量化