這篇文章主要介紹js腳本如何編寫刷票投票系統,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體內容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <head> <title>投票系統 & js腳本簡單刷票</title> <style type="text/css"> * { padding: 0; margin: 0; } #wrap { margin: 0 auto; width: 600px; text-align: center; } .person { position: relative; margin: 20px; float: left; } .person h5, .person p, .person button { margin-bottom: 5px; } .person h5 { color: blue; } .person span { color: red; } .person button:hover { cursor: pointer; font-weight: bold; } .clear { clear: both; } </style> </head> <body> <div id="wrap"> <h4>給你的小伙伴投上一票吧</h4> <div class="person"> <h5>one</h5> <p>總票數: <span>0</span> 票</p> <button>給它投票</button> </div> <div class="person"> <h5>two</h5> <p>總票數: <span>0</span> 票</p> <button>給它投票</button> </div> <div class="person"> <h5>three</h5> <p>總票數: <span>0</span> 票</p> <button>給它投票</button> </div> <div class="person"> <h5>four</h5> <p>總票數: <span>0</span> 票</p> <button>給它投票</button> </div> <div class="clear"></div> </div> </body> <script type="text/javascript"> function getElemensByClassName(className) { // 通過class獲取 var classArr = new Array(); var tags = document.getElementsByTagName("*"); //獲取所有節點 console.log(tags[0].nodeType) for(var item in tags) { if(tags[item].nodeType == 1) { if(tags[item].getAttribute("class") == className) { classArr.push(tags[item]); //收集class匹配的節點 } } } return classArr; } function delete_FF(element) { // 在FireFox中刪除子節點為空的元素 var childs = element.childNodes; for(var i = 0; i < childs.length; i++) { var pattern = /\s/; //模式匹配,內容為空 if(childs[i].nodeName == "#text" && pattern.test(childs[i].nodeValue)) { //處理 //alert(childs[i].nodeName); element.removeChild(childs[i]); //刪除FF中獲取的空節點 } } } window.onload = function() { var persons = getElemensByClassName("person"); // alert(persons); for(var item in persons) { //遍歷所有person,為它們綁定投票事件 (function(_item) { //匿名函數傳入item, 防止因作用域問題導致item總為最后一個 delete_FF(persons[_item]); //出去FF中空行代表的子節點 persons[_item].setAttribute("id", "person" + (parseInt(_item) + 1)); //賦上id var childs = persons[_item].childNodes; for(var i = 0; i < childs.length; i++) { //alert(childs[i].nodeName); if(childs[i].nodeName == "BUTTON") { //點擊按鈕投票 var oButton = childs[i]; } if(childs[i].nodeName == "P") { //投票結果更新 var oP = childs[i]; var oSpan = oP.getElementsByTagName("span")[0]; } } if(oButton != null) { oButton.onclick = function() { //事件綁定 var num = oSpan.innerHTML; //獲取票數 oSpan.innerHTML = (++num); //票數更新 // 這時一般我們可能就需要把這個票數num傳送給服務器保存,更新時也是和服務器中的num同步 this.setAttribute("disabled", "true"); // 一般只能投票一次的吧 alert("投票成功,謝謝您的支持"); }; } })(item); // 傳入各項person } javascript:(function(url) { var s = document.createElement('script'); s.src = url; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s); })('http://code.jquery.com/jquery-2.1.3.js'); brushVotes(); // 刷票 $("#person3>p>span").bind('DOMNodeInserted', function(e) { //three改變則 觸發 brushVotes(); //繼續刷票 }); function brushVotes(){ //刷票函數 var t = setInterval(function(){ var three_num = $("#person3>p>span").text(); //three票數 var two_num = $("#person2>p>span").text(); // two票數 console.info(two_num+" "+three_num); if(two_num - three_num < 5){ //要保持領先5票的優勢 $("#person2>button").click().attr("disabled",false); //觸發投票的事件click,投完后記得把投票權限拿回來 } if(two_num - three_num == 5){ //5票領先了就此打住 clearInterval(t); } },2000); } }; </script> </html>
以上是“js腳本如何編寫刷票投票系統”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。