投票系统 & js脚本简单刷票 <br/> * {<br/> padding: 0;<br/> margin: 0;<br/> }<br/><br/> #wrap {<br/> margin: 0 auto;<br/> width: 600px;<br/> text-align: center;<br/> }<br/><br/> .person {<br/> position: relative;<br/> margin: 20px;<br/> float: left;<br/> }<br/><br/> .person h4,<br/> .person p,<br/> .person button {<br/> margin-bottom: 5px;<br/> }<br/><br/> .person h4 {<br/> color: blue;<br/> }<br/><br/> .person span {<br/> color: red;<br/> }<br/><br/> .person button:hover {<br/> cursor: pointer;<br/> font-weight: bold;<br/> }<br/><br/> .clear {<br/> clear: both;<br/> }<br/> 给你的小伙伴投上一票吧 one 总票数: 0 票 给它投票 two 总票数: 0 票 给它投票 three 总票数: 0 票 给它投票 four 总票数: 0 票 给它投票 <br/> function getElemensByClassName(className) { // クラスを通過する <br/> var classArr = new Array();<br/> var tags = document.getElementsByTagName(" *"); //すべてのノードを取得<br/> console.log(tags[0].nodeType)<br/> for(var item in tags) {<br/> if(tags[item].nodeType == 1) {<br/> if(tags[item] ].getAttribute("class") == className) {<br/> classArr.push(tags[item]); //クラスに一致するノードを収集<br/> }<br/> }<br/> }<br/> return classArr;<br/> }<p> function delete_FF(element) { // FireFox で空の子ノードを持つ要素を削除します<br/> var childs = element.childNodes;<br/> for(var i = 0; i <childs.length; i++) {<br/> var pattern = /s/;コンテンツは空です<br/> if(childs[i].nodeName == "#text" && pattern.test(childs[i].nodeValue)) { //処理中<br/> //alert(childs[i].nodeName); .removeChild(childs[i]); //FF<br/>で取得した空ノードを削除 }<br/> }<br/> }<br/> window.onload = function() {<p> var people = getElemensByClassName("person");<br/> //alert( people);<br/> for(var item in people) { //すべての人物を走査し、投票イベントをそれらにバインドします<br/> (function(_item) { //アイテムが常にスコープの問題によって引き起こされるのを防ぐために、匿名関数はアイテムを渡します最後の <br/> delete_FF(persons[_item]) //FF の空の行で表される子ノードに移動します <br/> people[_item].setAttribute("id", "person" + (parseInt(_item) +) 1)); //id を割り当てます<br/>var Children = people[_item].childNodes;<p> for(var i = 0; i <children.length; i++) {<br/> //alert(childs[i].nodeName) ;<br/> if(childs[ i].nodeName == "BUTTON") { //投票するにはボタンをクリックしてください<br/> var oButton = childs[i];<br/> }<br/> if(childs[i].nodeName == "P") { //投票結果を更新します<br/> var oP = Children[i];<br/> var oSpan = oP.getElementsByTagName("span")[0];<br/> }<br/> }<br/> if(oButton != null) {<br/> oButton.onclick = function() { //イベント バインディング <br/> var num = oSpan.innerHTML; //投票数を取得します<br/> oSpan.innerHTML = (++num) //このとき、一般的には保存するために投票数 num をサーバーに送信する必要がある場合があり、更新時にはサーバー内での num の同期も行われます<br/> this.setAttribute("disabled", "true") // 通常、投票できるのは 1 回だけです<br/>; alert("投票は成功しました。ご支援ありがとうございます");<br/> };<br/> }<br/> }) (item) // 各人を渡します<br/> }<br/> javascript:(function(url) {<br/> var s = document .createElement('script');<br/> s.src = url;<br/> (document.getElementsByTagName('head ')[0] ||<br/>document.getElementsByTagName('body')[0]).appendChild(s);<br/> })('http://code.jquery.com/jquery-2.1.3.js') ;<br/><br/><br/> BrushVotes(); // ブラシ投票 <br/> $("#person3>p>span").bind( 'DOMNodeInserted', function(e) { //3 つの変更時にトリガーされます <br/> BrushVotes() // ブラシ投票を継続します <br/> });<br/><br/> function BrushVotes(){ // ブラシ投票 function<br/> var t = setInterval(function( ){<br/> var three_num = $("#person3>p>span").text(); // 3 票<br/> var two_num = $("#person2>p>span").text(); // 2 票<br/> console.info(two_num+" "+three_num);<br/><br/> if(two_num - three_num < 5){ //必須 5 票先のアドバンテージを維持します<br/> $("#person2>button").click().attr ("disabled",false); //投票をトリガーするイベント クリック。投票後に投票許可を忘れずに取得してください<br/> }<br/> if(two_num - three_num == 5){ //5 票先、ここで停止します<br/> clearInterval( t);<br/> }<br/><br/> },2000);<br/> }<br/> };<br/><br/> 著者: 一一17<p> 出典: <p>著者について: HTML5とフロントエンドに注目! <p>