導航:首頁 > 編程語言 > js飄動qq

js飄動qq

發布時間:2023-12-18 11:02:54

『壹』 js如何調用本地應用程序

一般情況下,瀏覽器中是無法直接和本機的其他的程序進行交互的,在IE中,我們可以通過ActiveX對象的方式進行。但是這個方式只適用於IE瀏覽器,另一種比較通用的方式便是URL協議的方式,我們將某種URL的協議注冊給某個程序來進行處理,比如將tencent://這樣的協議注冊給qq程序來進行處理,當瀏覽器需要訪問這樣的協議的時候就轉給QQ程序進行處理。這種URL協議的方式是可以跨平台的,比如在Windows上你需要添加註冊表項。

首先先看看js應該如何調用qq客戶端。
window .open(" tencent://message/?uin=346915968 ")
window.open顧名思義,打開。Tencent就不用多說了吧 BAT之T。上述能直接打開qq帳號對應的對話框。由此可以知道網頁上的在線客服功能是如何實現了吧。
那要是不需要打開對話框,就想要登陸qq應該如何實現呢?很簡單呀:
window .open(" tencent://message/?uin=qq ") 不過調用應用這種跟黑客沒什麼差別的行為,瀏覽器一般都是禁止的,

選擇允許後,

啟動應用,qq客戶端就會被調起。
為什麼說這個呢,老闆又給了個需求,想讓調起qq客戶端一樣,想通過演示頁面的一個按鈕,調起售票系統的各種程序...
什麼都不說了,先看看什麼是自定義協議。
Pluggable Protocol,又叫URL Protocol,有時會叫Shell命令,通用的Protocol有http、ftp、mailto等,這些都是windows安裝時自帶的協議。
接著也實現一個簡單的自己的自定義協議吧。
1,運行window,輸入regedit打開注冊表。 在HKEY_CLASSES_ROOT下面建一個自己起的名字的表。

用如下格式把各項值添上:

js打開qq音樂.exe

啟動應用

end.

『貳』 打開電腦qq提示javascript錯誤怎麼解決

解決辦法:

1、打開IE瀏覽器,在IE瀏覽器上方的菜單欄中找到工具項,然後選擇工具項中的「Internet選項」;

『叄』 如何用javascript代碼啟動QQ軟體

<button onclick="wsh = new ActiveXObject('WScript.Shell'); wsh.Run('file:///C:/WINDOWS/system32/cmd.exe')">這是打開CMD的 </button>

把上面CMD的路徑換為QQ的路徑即可,如在我內的電腦上打開QQ就是容
<button onclick="wsh = new ActiveXObject('WScript.Shell'); wsh.Run('file:///D:/Program%20Files/Tencent/qq/bin/qq.exe')">這是打開qq的 </button>

『肆』 QQ上的標簽這樣的效果JS怎麼實現呢

jquery 加幾個綁定事件
1,給下面的增加綁定事件:比如下面的都有一個class屬性:tag
$(".tag").live("click",function(){
//獲取當前標簽的名稱,然後再上面的DIV裡面加入他
//將當前綁定事件解除
$(this).unbind("click").addClass("自定義一個不可點擊的樣式名稱");
});
2.上面的標簽都有一個class屬性:selTag
$(".selTag").live("mouseenter",function(){//標簽增加滑鼠移上去事件
var selTagObj = $(this);
//顯示刪除按鈕,這個可以用樣式來實現,你做一個小圖標讓他的位置浮動動當前的標簽右邊,並且增加點擊事件
$("#delImg").css("left",$(this).offset().left+標簽的寬度減去圖片的寬度).css("top",$(this).offset().top).css("position","absolute").unbind("click").bind("click",function(){
//刪除上面的標簽,同時把下面的標簽置為可添加
selTagObj.remove();
$("對應下面的標簽").removeClass("自定義不可點擊的樣式名稱").bind("click",function(){
把上面的綁定事件在加上,可以寫一個JS方法,兩邊一起調用
});
});
});

『伍』 js仿QQ中對聯系人向左滑動,滑出刪除按鈕的操作

希望能採納
純js實現
使用了h5的touchmove等事件,以及用js動態改變css3的translate屬性來達到動畫效果:


<!DOCTYPEhtml>
<htmllang="en">

<head>
<metacharset="UTF-8">
<metaname="viewport"id="viewport"content="width=device-width,initial-scale=1">
<title>html5向左滑動刪除特效</title>
<style>
*{
padding:0;
margin:0;
list-style:none;
}

header{
background:#f7483b;
border-bottom:1pxsolid#ccc
}

headerh2{
text-align:center;
line-height:54px;
font-size:16px;
color:#fff
}

.list-ul{
overflow:hidden
}

.list-li{
line-height:60px;
border-bottom:1pxsolid#fcfcfc;
position:relative;
padding:012px;
color:#666;
background:#f2f2f2;
-webkit-transform:translateX(0px);
}

.btn{
position:absolute;
top:0;
right:-80px;
text-align:center;
background:#ffcb20;
color:#fff;
width:80px
}
</style>
<script>
/*
*描述:html5蘋果手機向左滑動刪除特效
*/
window.addEventListener('load',function(){
varinitX;//觸摸位置
varmoveX;//滑動時的位置
varX=0;//移動距離
varobjX=0;//目標對象位置
window.addEventListener('touchstart',function(event){
event.preventDefault();
varobj=event.target.parentNode;
if(obj.className=="list-li"){
initX=event.targetTouches[0].pageX;
objX=(obj.style.WebkitTransform.replace(/translateX(/g,"").replace(/px)/g,""))*1;
}
if(objX==0){
window.addEventListener('touchmove',function(event){
event.preventDefault();
varobj=event.target.parentNode;
if(obj.className=="list-li"){
moveX=event.targetTouches[0].pageX;
X=moveX-initX;
if(X>=0){
obj.style.WebkitTransform="translateX("+0+"px)";
}elseif(X<0){
varl=Math.abs(X);
obj.style.WebkitTransform="translateX("+-l+"px)";
if(l>80){
l=80;
obj.style.WebkitTransform="translateX("+-l+"px)";
}
}
}
});
}elseif(objX<0){
window.addEventListener('touchmove',function(event){
event.preventDefault();
varobj=event.target.parentNode;
if(obj.className=="list-li"){
moveX=event.targetTouches[0].pageX;
X=moveX-initX;
if(X>=0){
varr=-80+Math.abs(X);
obj.style.WebkitTransform="translateX("+r+"px)";
if(r>0){
r=0;
obj.style.WebkitTransform="translateX("+r+"px)";
}
}else{//向左滑動
obj.style.WebkitTransform="translateX("+-80+"px)";
}
}
});
}

})
window.addEventListener('touchend',function(event){
event.preventDefault();
varobj=event.target.parentNode;
if(obj.className=="list-li"){
objX=(obj.style.WebkitTransform.replace(/translateX(/g,"").replace(/px)/g,""))*1;
if(objX>-40){
obj.style.WebkitTransform="translateX("+0+"px)";
objX=0;
}else{
obj.style.WebkitTransform="translateX("+-80+"px)";
objX=-80;
}
}
})
})
</script>
</head>

<body>
<header>
<h2>消息列表</h2>
</header>
<sectionclass="list">
<ulclass="list-ul">
<liid="li"class="list-li">
<divclass="con">
你的快遞到了,請到樓下簽收
</div>
<divclass="btn">刪除</div>
</li>
<liclass="list-li">
<divclass="con">
哇,你在幹嘛,快點來啊就等你了
</div>
<divclass="btn">刪除</div>
</li>
</ul>
</section>
</body>

</html>


做成zepto插件
實際項目中,我們可能有很多個地方會用到這個功能。現在我們將這個功能做成zepto插件,方便後面使用。
這個插件,我們僅實現這個功能,然後傳入參數(刪除按鈕的樣式名),讓程序在js中計算所需要滑動的距離,方便復用。
zepto.touchWipe.js
/**
*zepto插件:向左滑動刪除動效
*使用方法:$('.itemWipe').touchWipe({itemDelete:'.item-delete'});
*參數:itemDelete刪除按鈕的樣式名
*/
;
(function($){
$.fn.touchWipe=function(option){
vardefaults={
itemDelete:'.item-delete',//刪除元素
};
varopts=$.extend({},defaults,option);//配置選項

vardelWidth=$(opts.itemDelete).width();

varinitX;//觸摸位置
varmoveX;//滑動時的位置
varX=0;//移動距離
varobjX=0;//目標對象位置
$(this).on('touchstart',function(event){
event.preventDefault();
varobj=this;
initX=event.targetTouches[0].pageX;
objX=(obj.style.WebkitTransform.replace(/translateX(/g,"").replace(/px)/g,""))*1;
if(objX==0){
$(this).on('touchmove',function(event){
event.preventDefault();
varobj=this;
moveX=event.targetTouches[0].pageX;
X=moveX-initX;
if(X>=0){
obj.style.WebkitTransform="translateX("+0+"px)";
}elseif(X<0){
varl=Math.abs(X);
obj.style.WebkitTransform="translateX("+-l+"px)";
if(l>delWidth){
l=delWidth;
obj.style.WebkitTransform="translateX("+-l+"px)";
}
}
});
}elseif(objX<0){
$(this).on('touchmove',function(event){
event.preventDefault();
varobj=this;
moveX=event.targetTouches[0].pageX;
X=moveX-initX;
if(X>=0){
varr=-delWidth+Math.abs(X);
obj.style.WebkitTransform="translateX("+r+"px)";
if(r>0){
r=0;
obj.style.WebkitTransform="translateX("+r+"px)";
}
}else{//向左滑動
obj.style.WebkitTransform="translateX("+-delWidth+"px)";
}
});
}

})
$(this).on('touchend',function(event){
event.preventDefault();
varobj=this;
objX=(obj.style.WebkitTransform.replace(/translateX(/g,"").replace(/px)/g,""))*1;
if(objX>-delWidth/2){
obj.style.transition="all0.2s";
obj.style.WebkitTransform="translateX("+0+"px)";
obj.style.transition="all0";
objX=0;
}else{
obj.style.transition="all0.2s";
obj.style.WebkitTransform="translateX("+-delWidth+"px)";
obj.style.transition="all0";
objX=-delWidth;
}
})

//鏈式返回
returnthis;
};

})(Zepto);


touchWipe.html
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"id="viewport"content="width=device-width,initial-scale=1">
<title>html5向左滑動刪除特效</title>

<style>
*{padding:0;margin:0;list-style:none;}
header{background:#f7483b;border-bottom:1pxsolid#ccc}
headerh2{text-align:center;line-height:54px;font-size:16px;color:#fff}
.list-ul{overflow:hidden}
.list-li{line-height:60px;border-bottom:1pxsolid#fcfcfc;position:relative;padding:012px;color:#666;
background:#f2f2f2;
-webkit-transform:translateX(0px);
}
.btn{position:absolute;top:0;right:-80px;text-align:center;background:#ffcb20;color:#fff;width:80px}
</style>

</head>
<body>
<header>
<h2>消息列表</h2>
</header>
<sectionclass="list">
<ulclass="list-ul">
<liid="li"class="list-li">
<divclass="con">
你的快遞到了,請到樓下簽收
</div>
<divclass="btn">刪除</div>
</li>
<liclass="list-li">
<divclass="con">
哇,你在幹嘛,快點來啊就等你了
</div>
<divclass="btn">刪除</div>
</li>
</ul>
</section>

<p>X:<spanid="X"></span></p>
<p>objX:<spanid="objX"></span></p>
<p>initX:<spanid="initX"></span></p>
<p>moveX:<spanid="moveX"></span></p>

<scripttype="text/javascript"src="

<scripttype="text/javascript"src="zepto.touchWipe.js"></script>
<scripttype="text/javascript">
$(function(){
$('.list-li').touchWipe({itemDelete:'.btn'});
});

</script>
</body>
</html>

效果:

消除BUG
到上面一步,基本實現了我們所需要的功能。但是有幾個問題:

1. 右邊的刪除按鈕點擊失靈,因為span無法冒泡到大按鈕上;

2. 非常嚴重的問題,我們給div添加了touchmove事件同時用preventDefault()屏蔽了原始的瀏覽器事件,導致上下滑動div的時候 頁面無法滾動了!

第一個問題比較容易解決,我們把span直接去掉,將「刪除」寫到css中的:before里,像這樣:

.itemWipe .item-delete:before {
content: '刪除';
color: #fff;
}

對於第二個問題,網上說用iscroll來解決。我們這里參考手機QQ中對聯系人的滑動操作。

大致原理:在滑動最開始的時候,判斷是Y軸的移動多 還是 X軸的移動多。 如果是X軸移動大,則判斷為滑動刪除操作,我們再使用preventDefault();

以上就是本文的全部內容,希望對大家的學習有所幫助。

閱讀全文

與js飄動qq相關的資料

熱點內容
矩陣論教程 瀏覽:971
字體文件分系統嗎 瀏覽:921
編程一級考試要帶什麼證件 瀏覽:923
extjs表格修改前數據 瀏覽:612
什麼是資料庫的函數 瀏覽:722
oppo手機怎麼用數據線連接電腦 瀏覽:247
恆智天成備份文件在哪裡 瀏覽:976
電腦沒聯網怎麼拷貝文件 瀏覽:224
wps工具欄怎麼換成中文 瀏覽:338
win7和xp共享文件 瀏覽:883
蘋果4代音量鍵沒反應 瀏覽:827
怎樣打開tif文件 瀏覽:153
java下載文件zip 瀏覽:440
qq瀏覽器壓縮文件怎麼設密碼 瀏覽:526
黃埔數控編程哪裡好 瀏覽:406
mac109升級1010 瀏覽:691
在java的菜單如何導入文件 瀏覽:982
現在什麼網站銷量最高 瀏覽:760
angularjsclass定義 瀏覽:157
ug數控編程怎麼導出程序 瀏覽:466

友情鏈接