溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js腳本如何編寫刷票投票系統(tǒng)

發(fā)布時間:2021-08-07 13:50:51 來源:億速云 閱讀:182 作者:小新 欄目:web開發(fā)

這篇文章主要介紹js腳本如何編寫刷票投票系統(tǒng),文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體內(nèi)容如下

<!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>投票系統(tǒng) & 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>總票數(shù): <span>0</span> 票</p>
<button>給它投票</button>
</div>
<div class="person">
<h5>two</h5>
<p>總票數(shù): <span>0</span> 票</p>
<button>給它投票</button>
</div>
<div class="person">
<h5>three</h5>
<p>總票數(shù): <span>0</span> 票</p>
<button>給它投票</button>
</div>
<div class="person">
<h5>four</h5>
<p>總票數(shù): <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("*"); //獲取所有節(jié)點
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匹配的節(jié)點
}
}
}
return classArr;
}

function delete_FF(element) { // 在FireFox中刪除子節(jié)點為空的元素
var childs = element.childNodes;
for(var i = 0; i < childs.length; i++) {
var pattern = /\s/; //模式匹配,內(nèi)容為空
if(childs[i].nodeName == "#text" && pattern.test(childs[i].nodeValue)) { //處理
//alert(childs[i].nodeName);
element.removeChild(childs[i]); //刪除FF中獲取的空節(jié)點
}
}
}

window.onload = function() {
var persons = getElemensByClassName("person");
// alert(persons);
for(var item in persons) { //遍歷所有person,為它們綁定投票事件
(function(_item) { //匿名函數(shù)傳入item, 防止因作用域問題導致item總為最后一個
delete_FF(persons[_item]); //出去FF中空行代表的子節(jié)點
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") { //投票結(jié)果更新
var oP = childs[i];
var oSpan = oP.getElementsByTagName("span")[0];
}
}
if(oButton != null) {
oButton.onclick = function() { //事件綁定
var num = oSpan.innerHTML; //獲取票數(shù)
oSpan.innerHTML = (++num); //票數(shù)更新
// 這時一般我們可能就需要把這個票數(shù)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改變則 觸發(fā)
brushVotes(); //繼續(xù)刷票
});

function brushVotes(){ //刷票函數(shù)
var t = setInterval(function(){
var three_num = $("#person3>p>span").text(); //three票數(shù)
var two_num = $("#person2>p>span").text(); // two票數(shù)
console.info(two_num+" "+three_num);

if(two_num - three_num < 5){ //要保持領(lǐng)先5票的優(yōu)勢
$("#person2>button").click().attr("disabled",false); //觸發(fā)投票的事件click,投完后記得把投票權(quán)限拿回來
}
if(two_num - three_num == 5){ //5票領(lǐng)先了就此打住
clearInterval(t);
}

},2000);
}
};

  
</script>

</html>

以上是“js腳本如何編寫刷票投票系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI