投票系统 & 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> <p> function delete_FF(element) { // FireFox で空の子ノードを持つ要素を削除します<br> var childs = element.childNodes;<br> for(var i = 0; i <childs.length i></childs.length> 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></p> 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></p>var Children = people[_item].childNodes;<p> for(var i = 0; i <children.length i></children.length> //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> 出典: </p> <p>著者について: HTML5とフロントエンドに注目! </p> <p></p>