jQuery實現磁力圖片跟隨效果完整示例
688
2024-02-18
JQuery和HTML5 Canvas實現彈幕效果_jQuery_積木網(gimoo.net) var artID=\'399479\',artSID=\'15\',artBBS=\'2\'; jQuery(function($){ $(\'pre\').each(function(i){ if ($(this).find(\'code\').length==0) $(th">
JQuery和HTML5 Canvas兩種方法實現彈幕效果:
方法一,JQuery實現。
源碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> < <link rel="shortcut icon" type="image/x-icon" /> <link rel="Bookmark" type="image/x-icon" /> --> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>JQuery彈幕</title> <link rel="stylesheet" /> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script> <style type="text/css"> .ctxt{ background:#666; width:1000px; height:400px; overflow:hidden; margin:0 auto; } .ctxt p{ position:relative; left:1000px; margin:0; padding:0; } </style> </head> <body> <div id="" class="ctxt"></div> <br /> <form method="post" action="" align="center"> <input type="text" id="msg" style="height:24px;width:200px;" /> <button type="button" id="submitBut">發布</button> </form> <script type="text/javascript"> $(document).ready(function(){ $("#submitBut").click(function(){ var msgtxt=$("#msg").val(); var colortxt = getReandomColor(); var topPos = generateMixed(3); if (topPos > 300) { topPos = 30; } var newtxt = '<p style="top:'+topPos+'px; color:'+colortxt+'">'+$("#msg").val()+'</p>'; $(".ctxt").prepend(newtxt); var addTextW = $(".ctxt").find("p").width(); $(".ctxt p").animate({left: '-'+addTextW+"px"}, 30000,function(){ $(this).hide(); }); }); }); //隨機獲取顏色值 function getReandomColor(){ return '#'+(function(h){ return new Array(7-h.length).join("0")+h })((Math.random()*0x1000000<<0).toString(16)) } //生成隨機數據。n表示位數 var jschars = ['0','1','2','3','4','5','6','7','8','9']; function generateMixed(n) { var res = ""; for(var i = 0; i < n ; i ++) { var id = Math.ceil(Math.random()*9); res += jschars[id]; } return res; } </script> </body> </html>
方法二,HTML5 Canvas實現。
源碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> < <link rel="shortcut icon" type="image/x-icon" /> <link rel="Bookmark" type="image/x-icon" /> --> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Canvas彈幕</title> <link rel="stylesheet" /> <style type="text/css"> #c1{background:#f1f1f1;} span{color:#FFFFFF;} </style> </head> <body> <canvas id="c1" width="600" height="300" > <span>該瀏覽器不支持html5</span> </canvas> <br /> <input type="text" name='smsg' value="" id="smsg" placeholder="請輸入內容" /> <button id="send">發送</button> <<button id='start' onclick="startFun('test')">Start</button> <button id='stop' onclick="stopFun()">Stop</button>--> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript"> var sv; var sId; var oC; var oGC; var numW; var numH; var maxTxt = 600; $(function(){ $("#send").click(function(){ clearInterval(sId); var m = $("#smsg").val(); //alert(m); startFun(m); $("#smsg").val('') }); }) function doDraw(msg){ oC = document.getElementById('c1'); oGC = oC.getContext('2d'); numW = oC.width; numH = oC.height; console.log(numW+'-'+numH); oGC.fillStyle="red"; //oGC.fillRect(0,0,numW,100); oGC.fillText(msg,numW,100); } function startFun(msg){ doDraw(msg); sId = setInterval(function(){ if (numW > -610) { numW--; console.log(numW); oGC.clearRect(0,0,oC.width,oC.height); oGC.fillText(msg,numW,100); } else { oGC.clearRect(0,0,oC.width,oC.height); clearInterval(sId); } },10); } </script> </body> </html>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持綠夏網。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯系進行刪除處理。敬請諒解!