


Einfache Beispieldemonstration des JQuery-Farbabstimmungsfortschritts bar_jquery
1. Nachfrage
Wie unten gezeigt
Der entscheidende Punkt ist die Implementierung des Fortschrittsbalkens.
2. Analyse
Im Artikel „Hinzufügen und Löschen von Tags in HTML5“ wurde erwähnt, dass HTML5 ein neues Fortschritts-Tag hinzugefügt hat. Aber es gibt definitiv Kompatibilitätsprobleme. Da die Produktionsumgebung nicht geeignet ist, muss die Implementierung simuliert werden.
Prinzip: Legen Sie den Breitenwert des Unterelements dynamisch fest.
1. Einfacher Prototyp
Angenommen, es gibt nur einen Fortschrittsbalken, wie unten gezeigt. Wir müssen nur die Breite des p-Elements und den Prozentsatz des span-Elements kennen Die Breite der Spanne kann dynamisch eingestellt werden, um den Effekt des Fortschrittsbalkens zu erzielen.
<style> .long{width:100px;border:1px solid #7f7f7f;height:14px;background-color:#d6d6d6;} .short{float:left;height:14px;background-color:#0FF;} </style> <body> <P class="long"><span class="short"></span></P> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> var percent=0.5; var longWidth=100; var shortWidth=percent*longWidth; $(".short").animate({width:shortWidth+"px"},'slow'); </script> </body>
2. Implementierungsprozess des Abstimmungsfortschrittsbalkens
Schritt 1: Der Aufbau ist wie folgt
<meta charset="utf-8"> <style> /*样式重置*/ ul,h4,p{margin:0;padding:0;} /*清除浮动*/ .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;} body { font: 12px/1.5 arial, 宋体; } html, body { color: #333333; } /*投票css*/ .vote-box-list{border:1px solid red;position:absolute;} .vote-box-list li{list-style:none;margin:10px 0;} .vote-item-wrap h4,.vote-item-wrap .vnum{float:left;font-size:14px;font-weight:normal;line-height:16px;} .vote-item-wrap p{float:left;height:14px;width:200px;border:1px solid #E2E2E2;background-color:#EFEFEF;margin:0 10px;} .vote-item-wrap p span{float:left;height:14px;/*width:30px;background-color:#c2f263;*/} </style> <ul class="vote-box-list clearfix" id="appVoteBox"> <li class="vl-item" id="voteItem0"> <div class="vote-item-wrap clearfix"> <h4 id="A">A:</h4> <p class="litem"><span></span></p> <span class="vnum">79(2%)</span> </div> </li> <li class="vl-item" id="voteItem1" > <div class="vote-item-wrap clearfix"> <h4 id="B">B:</h4> <p class="litem"><span></span></p> <span class="vnum">1986(61%)</span> </div> </li> <li class="vl-item" id="voteItem2"> <div class="vote-item-wrap clearfix"> <h4 id="C">C:</h4> <p class="litem"><span></span></p> <span class="vnum">1153(36%)</span> </div> </li> <li class="vl-item" id="voteItem3" > <div class="vote-item-wrap clearfix"> <h4 id="D">D:</h4> <p class="litem"><span></span></p> <span class="vnum">415(13%)</span> </div> </li> <li class="vl-item" id="voteItem4" > <div class="vote-item-wrap clearfix"> <h4 id="E">E:</h4> <p class="litem"><span></span></p> <span class="vnum">89(3%)</span> </div> </li> </ul>
Fügen Sie dem Bereich eine Breite und eine Hintergrundfarbe hinzu, um einen Fortschrittsbalkeneffekt zu erzeugen. Dieser Schritt wird mit js implementiert.
Der zweite Schritt besteht darin, die Spannweite mit js festzulegen
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> var Vote={}; Vote.ListShow=(function(){ var longWidth; var percentArr=[]; var shortWidth=[]; var spanArr=[]; /*初始化*/ function init(o){ voteId=o.id; longWidth=o.width; percentArr=o.percent; shortWidth=calWidth(); spanArr=findSpans(); } /*根据百分比计每个算span的实际宽度*/ function calWidth(){ var arr=[]; for(var i=0;i<percentArr.length;i++){ var tempLength=percentArr[i]*longWidth; arr.push(tempLength); } return arr; } /*将全部span存为一个数组*/ function findSpans(){ var litems=$("#"+voteId).find(".litem"); var arr=[] for(var i=0;i<litems.length;i++){ arr.push(litems[i].children[0]); } return arr; } /*每个span元素设置宽度*/ function setWidth(){ for(i=0;i<percentArr.length;i++){ $(spanArr[i]).animate({width:shortWidth[i]+"px"},'slow'); $(spanArr[i]).css({'background-color':"#c2f263"}); } } return {init:init,set:setWidth}; })(); /*调用*/ Vote.ListShow.init( { id:'appVoteBox', width:200-2 , percent:[0.02,0.61,0.36,0.13,0.3], }); Vote.ListShow.set(); </script>
Wirkung:
Im dritten Schritt legt js die Hintergrundfarbe von span fest
Die Hintergrundfarbe im zweiten Schritt wird auf die gleiche wie unten eingestellt.
$(spanArr[i]).css({'background-color':"#c2f263"}); 现在随机生成背景色,做一个彩色的进度条。 <script src="http://code.jquery.com/jquery-latest.js"></script> <script> var Vote={}; Vote.ListShow=(function(){ var longWidth; var percentArr=[]; var shortWidth=[]; var spanArr=[]; var colorArr=[]; /*初始化*/ function init(o){ voteId=o.id; longWidth=o.width; percentArr=o.percent; shortWidth=calWidth(); spanArr=findSpans(); colorArr=genColor(); } /*根据百分比计每个算span的实际宽度*/ function calWidth(){ var arr=[]; for(var i=0;i<percentArr.length;i++){ var tempLength=percentArr[i]*longWidth; arr.push(tempLength); } return arr; } /*将全部span存为一个数组*/ function findSpans(){ var litems=$("#"+voteId).find(".litem"); var arr=[] for(var i=0;i<litems.length;i++){ arr.push(litems[i].children[0]); } return arr; } /*o是颜色数组,随机选择length种颜色返回*/ function genColor() { var o = []; var n = ["#5dbc5b", "#6c81b6", "#9eb5f0", "#a5cbd6", "#aee7f8", "#c2f263", "#d843b3", "#d8e929", "#e58652", "#e7ab6d", "#ee335f", "#fbe096", "#ffc535"]; //彩色进度条 var colorsArr = n.slice(); for (var i = 0;i < percentArr.length; i++){ //Math.random()返回0.0 ~ 1.0 之间的一个伪随机数。 //Math.floor()向下取整 var k = Math.floor(Math.random()* colorsArr.length); o.push(colorsArr[k]); //取完一种颜色后就从颜色数组中删除 colorsArr.splice(k, 1); if (colorsArr.length == 0){ colorsArr = n.slice()} } return o; } /*每个span元素设置宽度*/ function setWidth(){ for(i=0;i<percentArr.length;i++){ $(spanArr[i]).animate({width:shortWidth[i]+"px"},'slow'); $(spanArr[i]).css({'background-color':colorArr[i]}); } } return {init:init,set:setWidth}; })(); /*调用*/ Vote.ListShow.init( { id:'appVoteBox', width:200-2 , percent:[0.02,0.61,0.36,0.13,0.3], }); Vote.ListShow.set(); </script>
Endeffekt:
Das Obige ist der besondere Effekt des farbigen Fortschrittsbalkens, der sich besonders für Abstimmungen eignet. Ich hoffe, dass er für das Lernen aller hilfreich ist und Ihnen dieser farbige Fortschrittsbalken gefällt.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.

So senden Sie im Voraus Aufgabenbenachrichtigungen in Quartz Wenn der Quartz -Timer eine Aufgabe plant, wird die Ausführungszeit der Aufgabe durch den Cron -Ausdruck festgelegt. Jetzt...

So erhalten Sie die Parameter von Funktionen für Prototyp -Ketten in JavaScript in JavaScript -Programmier-, Verständnis- und Manipulationsfunktionsparametern auf Prototypungsketten ist eine übliche und wichtige Aufgabe ...

Analyse des Grundes, warum der dynamische Verschiebungsfehler der Verwendung von VUE.JS im WeChat Applet Web-View Vue.js verwendet ...

Wie kann ich gleichzeitige Anfragen für mehrere Links und nach Abfolge der Rückgabeergebnisse beurteilen? In Tampermonkey -Skripten müssen wir oft mehrere Ketten verwenden ...


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor