Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
覺這個特效對大神們來說簡直so so so so so easy!但我就是要要要要要要要要要發出來,分享給正在學習前端開發的朋友們,代碼在下文直接復制走,而且不用說謝謝~嘿嘿。時不時發一點好玩的特效,喜歡的朋友點一下上面的關注哦。我只是小小的前端開發工程師而已,各位大佬別噴我,謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝啦。(你還別說,這支付寶體真挺好玩。)
別噴我,比起讓你加群拿代碼的那些教育機構的推廣者,我連個廣告都沒打!
按下鍵盤上的A 網頁上的A就會動哦~
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>網頁鍵盤鋼琴按鍵特效</title>
<style>
*{
margin:0;
padding:0;
list-style:none;
}
#box{
width:400px;
margin:300px auto 0;
}
ul{
margin-right:-20px;
}
li{
width:48px;
height:48px;
border:1px solid #666;
float:left;
margin-right:20px;
text-align:center;
line-height:48px;
background:#000;
color:#fff;
font-weight:bold;
position:relative;
}
li span{
display:block;
opacity:0.5;
filter:alpha(opacity:50);
}
li p{
width:100%;
height:0;
background:#03F;
position:absolute;
bottom:49px;
left:0;
}
.keyA{
background:#e51c55;
}
.keyS{
background:#c926a5;
}
.keyD{
background:#9c4bd5;
}
.keyJ{
background:#4f65c3;
}
.keyK{
background:#6ccab7;
}
.keyL{
background:#92d55d;
}
</style>
</head>
<body>
<div id="box">
<ul>
<li>
<span class="keyA">A</span>
<p class="keyA"></p>
</li>
<li>
<span class="keyS">S</span>
<p class="keyS"></p>
</li>
<li>
<span class="keyD">D</span>
<p class="keyD"></p>
</li>
<li>
<span class="keyJ">J</span>
<p class="keyJ"></p>
</li>
<li>
<span class="keyK">K</span>
<p class="keyK"></p>
</li>
<li>
<span class="keyL">L</span>
<p class="keyL"></p>
</li>
</ul>
</div>
<script>
window.onload = function(){
var aP = document.getElementsByTagName("p");
var aSpan = document.getElementsByTagName("span");
var aKeyCode = [65,83,68,74,75,76]; //定義鍵盤按鍵的鍵值 65表示大寫A 具體鍵值請參照文章里的ascii表里的值
document.onkeydown = function(event){
var event = event || window.event;
for(var i=0; i<aKeyCode.length; i++){
if(event.keyCode == aKeyCode[i]){
startMove(aP[i],{height:240});
startMove(aSpan[i],{opacity:100})
}
}
}
document.onkeyup = function(event){
var event = event || window.event;
for(var i=0; i<aKeyCode.length; i++){
if(event.keyCode == aKeyCode[i]){
startMove(aP[i],{height:0});
startMove(aSpan[i],{opacity:50})
}
}
}
}
function startMove(obj, json, fnEnd){
clearInterval(obj.timer);
obj.timer=setInterval(function (){
var bSwitch=true;
for(var sAttribute in json){
var iTarget=json[sAttribute];
if(sAttribute=='opacity'){
var cur=Math.round(parseFloat(getStyle(obj, sAttribute))*100);
}else{
var cur=parseInt(getStyle(obj, sAttribute));
}
var speed=(iTarget-cur)/5;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(sAttribute=='opacity'){
obj.style.filter='alpha(opacity:'+(cur+speed)+')'; //IE
obj.style.opacity=(cur+speed)/100; //ff chrome
}else{
obj.style[sAttribute]=cur+speed+'px';
}
if(cur!=iTarget){
bSwitch=false;
}
}
if(bSwitch){
clearInterval(obj.timer);
if(fnEnd){
fnEnd();
}
}
}, 30);
}
//獲取飛行間樣式
function getStyle(obj,sAuttribute){
var result = ""
if(window.getComputedStyle){
result = window.getComputedStyle(obj,false)[sAuttribute];
}else{
resule = obj.currentStyle[sAuttribute];
}
return result;
}
</script>
</body>
</html>
如果哪句代碼不理解,可以直接在下面留言,我看到了會一一解釋哦。當然啦,你噴我我也會回你。
喜歡JS特效的朋友,記得關注我哦,不定期分享好玩好看的JS特效,前端路上,一起成長~
閱讀,本該是一件享受的事情,然而在這個快節奏的社會里,能夠靜下心來閱讀一本書,似乎已經成了一種奢望。這不僅與人們日常時間碎片化有關,書籍本身笨重的體積也是現代人閱讀的一大難題。我嘗試過使用手機閱讀電子書籍,盡管已經將背景調到了護眼模式,但還是會在長時間閱讀后產生眼睛酸澀的不適感,長此以往,眼睛肯定吃不消。
但……俗話說得好,只要想讀書,方法總比困難多。為了滿足我隨時隨地看書的愿望,我入手了一款電紙書產品:漢王電紙書Clear。
avaScript奇淫技巧:20行代碼,實現屏幕錄像
本文展示一個技巧,可以給任何網站、網頁實現屏幕錄像功能。
即使你不是網站的管理者,也可以給它添加錄制功能。
方法如下:
復制一段JS代碼,這段代碼是實現錄像功能的:
var body = document.body;
body.addEventListener("click",async function(){
var stream = await navigator.mediaDevices.getDisplayMedia({video: true});
var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});
//錄制
var chunks = [];
mediaRecorder.addEventListener('dataavailable', function(e) {
chunks.push(e.data)
})
//停止
mediaRecorder.addEventListener('stop', function(){
var blob = new Blob(chunks, {type: chunks[0].type});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'video.webm';
a.click();
})
//手動啟動
mediaRecorder.start()
});
打開任意網站,比如JShaman官網:
然后調出“Web開發者工具”,并切換到“控制臺”。
粘貼上面復制的JS代碼,并按下回車。
回車后會顯示出“undefined”:
在網頁任意地方點擊鼠標,即可進行錄屏操作。
這時會彈出一個窗口,供選擇錄制范圍。
之后便開始錄制了。
當需要停止錄像時,點擊”停止共享”就可以了。
停止錄制后,剛剛錄制的內容會自動保存成一個視頻文件:
打開便可播放:
在這整個過程中,最重要的是第一步中的JS代碼。
代碼可自行閱讀理解,大意是給document.body添加點擊事件,當點擊時,進行屏幕錄像。
所以,只要保存那段代碼,便可給任意網站添加錄像功能。
如果想要修改觸發條件,比如把鼠標點擊改為鼠標雙擊,只需修改addEventListener中的事件名稱即可。
例:改為雙擊:
var body = document.body;
body.addEventListener("dblclick",async function(){
var stream = await navigator.mediaDevices.getDisplayMedia({video: true});
var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});
//錄制
var chunks = [];
mediaRecorder.addEventListener('dataavailable', function(e) {
chunks.push(e.data)
})
//停止
mediaRecorder.addEventListener('stop', function(){
var blob = new Blob(chunks, {type: chunks[0].type});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = 'video.webm';
a.click();
})
//手動啟動
mediaRecorder.start()
});
如果在復制粘貼代碼時,不想讓別人看出你的代碼是什么意思,還可以對以上代碼進行混淆加密。
用JShaman對代碼進行加密:
得到加密代碼:
復制并使用這段代碼,使用跟之前一樣,但別人是無法理解代碼功能的。
使用:
最后,給出加密后的代碼,復制即可用,可用于任何網頁。
(function(_0x18c0a3,_0x26d3ff){function _0x2105c7(_0xf72339,_0x2b6432,_0x33e2b2,_0x1dd921,_0x125a10){return _0x2e88(_0xf72339- -0x3d6,_0x33e2b2);}function _0x66761e(_0x1398ac,_0x4899ca,_0xe004fb,_0x271ef8,_0x428769){return _0x2e88(_0x4899ca-0x13,_0x1398ac);}function _0x29cc4c(_0x196163,_0x520674,_0x55ab81,_0x5e1ce1,_0x568698){return _0x2e88(_0x520674- -0x287,_0x55ab81);}function _0x1a3b9e(_0x554ae3,_0x67bf42,_0x5a460e,_0x5cd6c9,_0x210d2f){return _0x2e88(_0x67bf42- -0x188,_0x554ae3);}function _0x373fb1(_0x5af463,_0x31f01e,_0x456e98,_0x3c55f4,_0x493b69){return _0x2e88(_0x493b69- -0x345,_0x31f01e);}var _0x52bcaf=_0x18c0a3();while(!![]){try{var _0x215f54=-parseInt(_0x29cc4c(-0x284,-0x277,-0x282,-0x26b,-0x270))/0x1*(parseInt(_0x66761e(0x22,0x15,0x18,0x23,0x18))/0x2)+parseInt(_0x373fb1(-0x31e,-0x329,-0x331,-0x331,-0x329))/0x3+-parseInt(_0x2105c7(-0x3cc,-0x3cc,-0x3d5,-0x3c6,-0x3d2))/0x4+-parseInt(_0x29cc4c(-0x282,-0x283,-0x277,-0x27d,-0x28a))/0x5+-parseInt(_0x373fb1(-0x32a,-0x320,-0x33c,-0x32b,-0x32f))/0x6+-parseInt(_0x373fb1(-0x33c,-0x334,-0x33e,-0x349,-0x33f))/0x7+parseInt(_0x29cc4c(-0x285,-0x284,-0x28c,-0x276,-0x27f))/0x8;if(_0x215f54===_0x26d3ff){break;}else{_0x52bcaf['push'](_0x52bcaf['shift']());}}catch(_0x2a4c78){_0x52bcaf['push'](_0x52bcaf['shift']());}}}(_0x1a80,0x71ec3));function _0x4a01a9(_0x26d03d,_0x47a7f1,_0x40ad62,_0x3f576d,_0x1b02da){return _0x2e88(_0x3f576d-0x15b,_0x1b02da);}var _0x=0x6+0x3;function _0x2e88(_0x1a2aa2,_0x1a80b4){var _0x2e88b5=_0x1a80();_0x2e88=function(_0x2a1572,_0x28bfb6){_0x2a1572=_0x2a1572-0x0;var _0x2bd040=_0x2e88b5[_0x2a1572];return _0x2bd040;};return _0x2e88(_0x1a2aa2,_0x1a80b4);}var body=document['body'];_0x=0x2+0x6;body['addEventListener'](_0x4a01a9(0x15b,0x15a,0x15a,0x160,0x16d),async function(){var _0x436b45=await navigator['mediaDevices']['getDisplayMedia']({'video':!![]});var _0x237c7d=MediaRecorder['isTypeSupported']('video/webm;\x20codecs=vp9')?'video/webm;\x20codecs=vp9':'video/webm';var _0x4b7d52=new MediaRecorder(_0x436b45,{'mimeType':_0x237c7d});var _0x2456cb=[];_0x4b7d
更多精彩文章:
JS奇淫技巧:數值的七種寫法
JavaScript奇淫技巧:隱寫術
JS奇淫技巧:alert有幾種寫法?
JavaScript奇淫技巧:變速齒輪
JavaScript奇淫技巧:收縮控制流
JavaScript奇淫技巧:按鍵精靈
JS奇淫技巧:一行賦值語句,能玩出多少花樣?
JavaScript奇淫技巧:命令行語法高亮
JavaScript奇淫技巧:清理無效的垃圾代碼
JavaScript奇淫技巧:利用數組加密并壓縮代碼
JavaScript奇淫技巧:壓縮并加密圖片
JavaScript奇淫技巧:把JS編譯成exe
JavaScript奇淫技巧:用try、catch實現JS代碼加密解密
JS小技巧:制作一個密碼保護的網頁
JavaScript黑暗技巧:變異的Eval
JS代碼混淆加密:JSON數據加密技巧
JS加密技術:平展控制流
奇思妙想之:用JS給圖片加口令
JavaScript黑暗技巧:禁止瀏覽器點擊“后退”按鈕
*請認真填寫需求信息,我們會在24小時內與您取得聯系。