본 글은 jQuery 탄막효과를 간단하게 구현하기 위한 관련 내용을 위주로 자세하게 소개하고 있으니 도움이 되셨으면 좋겠습니다.
연재 사례를 작성하려면 먼저 각 단계에서 무엇을 해야 하는지 알아야 합니다.
먼저 프레임워크를 설정한 후 사격을 보낼 때 다음 단계를 수행할 준비를 해야 합니다.
탄막으로 보낼 콘텐츠를 가져옵니다. 즉, 텍스트 상자에 입력된 콘텐츠를 가져옵니다. jquery의 var str = $("#ID of the text box").val();
을 통해 요소 생성: jQuery의 var createSpan =$("")를 사용하여 전송할 범위 요소를 생성합니다.
방금 생성한 스팬에 값, 즉 가져온 텍스트 상자의 값 createSpan.text(str);
요소의 애니메이션 효과를 설정하여 요소가 움직이도록 설정합니다. jQuery의 animate(css 스타일 값, 시간, 애니메이션 실행 후 호출할 메서드)를 사용합니다. 애니메이션을 실행한 후 방금 추가한 요소를 수동으로 제거해야 합니다.
안에는 많은 디테일이 담겨 있으니 잘 살펴보시면 득템하실 수 있을 거예요!
<!DOCTYPE html> <html> <head> <meta charset = "utf-8" /> <title>弹幕案例</title> <script src = "http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script> $(function(){ var boxDom = $("#boxDom"); //var domContent = $("#domContent"); var top, right; var pageWidth = parseInt($(document).width()); var pageHeight =parseInt($(document).height()); //点击按钮 $("#btn").bind("click",auto);//按钮绑定方法 //按下回车 document.onkeydown = function(){ if(event.keyCode == 13){ auto(); } } function auto(){ //1.获取输入的字符串 var str = $(".text").val(); //2.生成一个元素 var createSpan = $("<span class = 'string' ></span>"); //3.给生成的元素赋值 createSpan.text(str); //为了页面友好,清空刚刚输入的值 $(".text").val(""); //生成元素一个随机的位置,为了使每条弹幕都出现在屏幕上不同的位置 top = Math.floor(Math.random()*pageHeight); createSpan.css({"top":top, "right": -400, "color": getRandomColor()}); boxDom.append(createSpan); //4.设置元素的动画效果,animate(css样式值,时间, 执行完动画调用的方法) //页面上有N个span,只让最后一个动起来 var spandom = $("#boxDom>span:last-child");//找到最后一个span spandom.animate({"right":pageWidth+300},10000,function(){ //移除元素 $(this).remove(); }); } //定义一个可以生成随机颜色的方法,可以使每条弹幕的颜色不同 function getRandomColor(){ var colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']; var color = ""; for(var i = 0; i < 6; i++){ color += colorArr[Math.floor(Math.random()*16)]; } return "#"+color; } }); </script> <style type="text/css"> html,body{ margin: 0px; padding: 0px; width: 100%; height: 100%; font-family: "微软雅黑"; background: #ccc; } .boxDom{ width: 100%; height: 100%; position: relative; overflow: hidden; } .idDom{ width: 100%; height: 60px; background:#666; position: fixed; bottom: 0px; } .contet{ width: 500px; height: 40px; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; margin: auto; } .title{ display: inline; font-size: 24px; vertical-align: bottom; color: #ffffff; padding-left: 300px; } .text{ width: 300px; height: 30px; border:none; border-radius:5px; font-size: 20px; margin-left:60px; } .btn{ width: 60px; height: 30px; color: #ffffff; background-color: red; border:none; font-size:16px; margin-left:60px; margin-top: 20px; } .string { width: 300px; height: 40px; margin-top: 20px; position: absolute; color: #000; font-size: 20px; font-family: "微软雅黑"; } </style> </head> <body> <p class = "boxDom" id = "boxDom"> <img src="../images/bg_2.jpg" style="width:100%; height:100%" /> <p id = "idDom" class = "idDom"> <p class = "content"> <p class = "title"> 说点什么:</p> <input type = "text" class = "text"/> <button type = "button" class = "btn" id = "btn" >发送</button> </p> </p> </p> </body> </html>
렌더링은 다음과 같습니다:
관련 권장 사항:
간단한 공세 효과 예시 분석의 JavaScript 구현
위 내용은 jQuery 탄막 효과의 간단한 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!