Heim > Artikel > Web-Frontend > Erstellen Sie Bilduhreffekte mit jquery_jquery
1. Digitaluhr generieren
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); oP.innerHTML=str; } } /*将数字转换为字符串且一位数显示为两位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } </script> <p id="time"></p>
Wirkung:
2. Zahlen in Bilder umwandeln
Methode 1:
Der Bildname ist eine Zahl, die auf einfachste Weise geschrieben ist.
Verwendete Bilder:
Schreiben Sie eine Funktion strToImg(str), um jede Zahl in einem String str in das entsprechende Bild umzuwandeln, und erstellen Sie dann dynamisch das Tag a1f02c36ba31691bcfe87b2722de723b
Hinweis: Der Inhalt des e388a4556c0f65e1904146cc1a846bee-Tags muss bei jedem Aufruf gelöscht werden.
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } } /*将数字转换为字符串且一位数显示为两位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; $("#time").empty(); for(var i=0;i<str.length;i++){ var oImg=$("<img />"); oImg.attr("src","images/"+str.charAt(i)+".png"); $("#time").append(oImg); } } </script> <p id="time"></p>
Methode 2: [Nicht anwendbar]
Wenn der Bildname keine reine Zahl ist, speichern Sie ihn in einem Array.
Diese Methode betreibt zu viele DOMs und ist sehr ineffizient. Manchmal werden die 6 Knoten nicht vollständig angezeigt.
Weil meine ursprüngliche Absicht darin bestand, die Informationen zu überprüfen, und festgestellt habe, dass das Schreiben wie dieses das Vorladen von Bildern erfordert, und ich dachte, dass dies die Effizienz beschleunigen könnte. Ich habe es versucht, aber jetzt scheint es, dass ich das Prinzip des Vorladens immer noch nicht verstehe, was eine Falle hinterlässt.
<script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } /*将数字转换为字符串且一位数显示为两位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; var imageArray=[]; for(i=0;i<11;i++){ imageArray[i]=new Image(); } //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应 imageArray[0].src="images/0.png"; imageArray[1].src="images/1.png"; imageArray[2].src="images/2.png"; imageArray[3].src="images/3.png"; imageArray[4].src="images/4.png"; imageArray[5].src="images/5.png"; imageArray[6].src="images/6.png"; imageArray[7].src="images/7.png"; imageArray[8].src="images/8.png"; imageArray[9].src="images/9.png"; imageArray[10].src="images/fh.png"; $("#time").empty(); for(var i=0;i<str.length;i++){ var oImg=imageArray[str.charAt(i)]; //oImg.attr("src",imageArray[i].src); $("#time").append(oImg); } } </script> <p id="time"></p>
Methode 3:
Codieren Sie das a1f02c36ba31691bcfe87b2722de723b-Tag im HTML-Code fest.
<p id="time"><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/><img src="images/0.png"/></p> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } var imageArray=[]; //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应 imageArray[0]="images/0.png"; imageArray[1]="images/1.png"; imageArray[2]="images/2.png"; imageArray[3]="images/3.png"; imageArray[4]="images/4.png"; imageArray[5]="images/5.png"; imageArray[6]="images/6.png"; imageArray[7]="images/7.png"; imageArray[8]="images/8.png"; imageArray[9]="images/9.png"; imageArray[10]="images/fh.png"; /*将数字转换为字符串且一位数显示为两位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } function strToImg(str){ var str=str; for(var i=0;i<str.length;i++){ $("#time").find("img").eq(i).attr("src",imageArray[str.charAt(i)]); } } </script>
Methode 4: [Empfohlen]
Generieren Sie dynamisch a1f02c36ba31691bcfe87b2722de723b-Tags und schreiben Sie sie effizient.
<p id="time"></p> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> window.onload=function(){ var oBody=document.body; var oP=document.getElementById("time"); setInterval(fnTime,1000); fnTime(); } function fnTime(){ var myTime=new Date(); var iHours=myTime.getHours(); var iMin=myTime.getMinutes(); var iSec=myTime.getSeconds(); var str=toTwo(iHours)+toTwo(iMin)+toTwo(iSec); //oP.innerHTML=str; strToImg(str); } /*将数字转换为字符串且一位数显示为两位,*/ function toTwo(n){ return n<10?'0'+n:''+n; } var imageArray=[]; //将个图像定义给相应的数组元素,使数组元素下标与图像所对应的数字字符一一对应 imageArray[0]="images/0.png"; imageArray[1]="images/1.png"; imageArray[2]="images/2.png"; imageArray[3]="images/3.png"; imageArray[4]="images/4.png"; imageArray[5]="images/5.png"; imageArray[6]="images/6.png"; imageArray[7]="images/7.png"; imageArray[8]="images/8.png"; imageArray[9]="images/9.png"; imageArray[10]="images/fh.png"; function strToImg(str){ var str=str; var tempHtml=''; for(var i=0;i<str.length;i++){ var imgHtml="<img src="+imageArray[str.charAt(i)]+"/>"; tempHtml+=imgHtml; } $("#time").html(tempHtml); } </script>
Das Obige ist der gesamte Code zum Erstellen von Bilduhreffekten mit jquery. Ich hoffe, er gefällt Ihnen.