重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
方法很多的,下面就是一种方法,时间自己定义!
创新互联是一家集网站建设,穆棱企业网站建设,穆棱品牌网站建设,网站定制,穆棱网站建设报价,网络营销,网络优化,穆棱网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
在head/head之间加入jsscript language="javascript"
var secs = 3; //倒计时的秒数
var URL ;
function Load(url){
URL = url;
for(var i=secs;i=0;i--)
{
window.setTimeout('doUpdate(' + i + ')', (secs-i) * 1000);
}
}
function doUpdate(num)
{
document.getElementById('ShowDiv').innerHTML = '将在'+num+'秒后自动跳转到主页' ;
if(num == 0) { window.location = URL; }
}
/script
touchstart :手指触摸到一个 DOM 元素时触发。
touchend :手指从一个 DOM 元素上移开时触发。
touchmove :手指在一个 DOM 元素上滑动时触发。
思路是,在触发 touchstart 时设置一个定时器 setInterval(longPress(),500) ,指定时间后执行长按的操作(如500ms),在执行完长按的操作和触发 touchend 之后清除定时器。
这样一来,如果没有超过500ms,手指离开屏幕,触发 touchend ,则 longPress 不会执行。如果时间时间超过500ms,则 longPress 执行一次。
代码写的太烂。。。。
一些问题点:
1、 flag 请用 var 声明(否则会变成全局变量,污染别的代码)
2、 flag 设置的位置有问题
3、 flag 的使用逻辑有问题
下面是完整代码(注意看用 /** */ 注释的地方):
function MyTank(x,y,direct){
this.x=x;//坦克的横坐标
this.y=y;//坦克的纵坐标
this.direct=direct;//方向
this.speed=1;//速度
var flag=false; /** 记得用 var */
mytank.style.left=this.x+"px";
mytank.style.top=this.y+"px";
//移动方向
function directF(val,that){
switch(val){
case 3:
that.x=that.x-5;
mytank.style.left=that.x+"px";
/** flag=true; 这句不要放在这里 */
break;
}
}
//初始化
this.move=function(event){
that=this;
if (flag == event.keyCode) return false; /** 如果已经沿目标方向运行,则不用处理 */
if (flag) {
window.clearInterval(value);
flag=false;
}
switch(event.keyCode){
case 65:
//a表示左
//this.x-=this.speed;
this.direct=3;
mytank.style.backgroundPositionY="80px";
flag = event.keyCode; /** 设置 flag */
value=window.setInterval(function(){
directF.call(this,3,that);
},100);
break;
}
}
}
var hero=new MyTank(200,300,0);
可以在长按2s后进行设置的同时,获取此时的时间startTime=getDate(),然后设置一个flag=true表示。
然后再那个固定的定时器中检查到flag的值为true时,再getDate,和startTime做比较,如果在10s内就可以做相应的处理。
具体实现方法如下:
1、打开任意页面
2、粘贴如下代码:
script type="text/javascript"
thisURL = document.URL;
strwrite = "img src='【此处省略,请见图片截图】/chart?cht=qrchs=150x150choe=UTF-8chld=L|4chl=" + thisURL + "' width='150' height='150' alt='La_Clover提示您:用手机扫一扫二维码,轻松分享' /";
document.write( strwrite );
/script
3、保存代码
4、默认尺寸是150的,可以自行修改。
5、上传到空间即可查看到效果
最近在做一个移动端的项目,其中有一个收藏列表,其中包含几个事件。
1.点击跳转详情页。
2.长按显示遮罩层和删除按钮
3.点击删除按钮,删除此项。
下面会详细介绍我处理此问题时所出现的问题,及处理方法(本文基于jQuery)
首先我对列表添加了长按事件,添加完之后,发现我的长按事件已经可以成功执行了。但是却出现了新的问题:
这个问题好处理,只需添加一个变量,来判断是否为长按事件
这样上面的问题就完美解决了。
接下来就是给遮罩层上的删除按钮添加事件
但是在这里就发现了新的问题
所以就需要一个新的事件来覆盖原本的事件
然后,整个点击跳转,长按显示删除,删除事件,就已经完美解决了。
但是,在移动端查看的时候就会发现正常的滚动事件被preventDefault屏蔽了。
此处有两种解决方式:
1.删除 e.preventDefault();
删除preventDefault有可能会出现其它情况,不过我暂时没发现如果出现其它情况,可使用下面的方法
删除的点击事件也是如此
By : Yimi-shan