方法很多的,下面就是一種方法,時間自己定義!
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),穆棱企業(yè)網(wǎng)站建設(shè),穆棱品牌網(wǎng)站建設(shè),網(wǎng)站定制,穆棱網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,穆棱網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
在head/head之間加入jsscript language="javascript"
var secs = 3; //倒計時的秒數(shù)
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+'秒后自動跳轉(zhuǎn)到主頁' ;
if(num == 0) { window.location = URL; }
}
/script
touchstart :手指觸摸到一個 DOM 元素時觸發(fā)。
touchend :手指從一個 DOM 元素上移開時觸發(fā)。
touchmove :手指在一個 DOM 元素上滑動時觸發(fā)。
思路是,在觸發(fā) touchstart 時設(shè)置一個定時器 setInterval(longPress(),500) ,指定時間后執(zhí)行長按的操作(如500ms),在執(zhí)行完長按的操作和觸發(fā) touchend 之后清除定時器。
這樣一來,如果沒有超過500ms,手指離開屏幕,觸發(fā) touchend ,則 longPress 不會執(zhí)行。如果時間時間超過500ms,則 longPress 執(zhí)行一次。
代碼寫的太爛。。。。
一些問題點:
1、 flag 請用 var 聲明(否則會變成全局變量,污染別的代碼)
2、 flag 設(shè)置的位置有問題
3、 flag 的使用邏輯有問題
下面是完整代碼(注意看用 /** */ 注釋的地方):
function?MyTank(x,y,direct){
this.x=x;//坦克的橫坐標(biāo)
this.y=y;//坦克的縱坐標(biāo)
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;?/**?如果已經(jīng)沿目標(biāo)方向運行,則不用處理?*/
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;?/**?設(shè)置?flag?*/
value=window.setInterval(function(){
directF.call(this,3,that);
},100);
break;
}
}
}
var?hero=new?MyTank(200,300,0);
可以在長按2s后進行設(shè)置的同時,獲取此時的時間startTime=getDate(),然后設(shè)置一個flag=true表示。
然后再那個固定的定時器中檢查到flag的值為true時,再getDate,和startTime做比較,如果在10s內(nèi)就可以做相應(yīng)的處理。
具體實現(xiàn)方法如下:
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、默認(rèn)尺寸是150的,可以自行修改。
5、上傳到空間即可查看到效果
最近在做一個移動端的項目,其中有一個收藏列表,其中包含幾個事件。
1.點擊跳轉(zhuǎn)詳情頁。
2.長按顯示遮罩層和刪除按鈕
3.點擊刪除按鈕,刪除此項。
下面會詳細(xì)介紹我處理此問題時所出現(xiàn)的問題,及處理方法(本文基于jQuery)
首先我對列表添加了長按事件,添加完之后,發(fā)現(xiàn)我的長按事件已經(jīng)可以成功執(zhí)行了。但是卻出現(xiàn)了新的問題:
這個問題好處理,只需添加一個變量,來判斷是否為長按事件
這樣上面的問題就完美解決了。
接下來就是給遮罩層上的刪除按鈕添加事件
但是在這里就發(fā)現(xiàn)了新的問題
所以就需要一個新的事件來覆蓋原本的事件
然后,整個點擊跳轉(zhuǎn),長按顯示刪除,刪除事件,就已經(jīng)完美解決了。
但是,在移動端查看的時候就會發(fā)現(xiàn)正常的滾動事件被preventDefault屏蔽了。
此處有兩種解決方式:
1.刪除 e.preventDefault();
刪除preventDefault有可能會出現(xiàn)其它情況,不過我暫時沒發(fā)現(xiàn)如果出現(xiàn)其它情況,可使用下面的方法
刪除的點擊事件也是如此
By : Yimi-shan
本文標(biāo)題:javascript長按,js 長按
當(dāng)前路徑:http://jinyejixie.com/article20/dsdgoco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站制作、全網(wǎng)營銷推廣、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)