Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
De ce statiile de radio FM nu ren...

Pe unde pot sa gasesc statistici ...

Este reconditionat acest laptop?

Prelungire fire electrice
 Amintiri despre satelit si retran...

Care este cel mai bun mod de a pr...

Recomandare centrala termica apar...

samsung Xcover 5 Nu mai vrea
 Telefon de budget pentru filme 10...

Recomandare serviciu / firma recu...

La mulți ani @Piniuli!

Pret inghetata corso kaufland?
 La multi ani @Constantin si Elena...

La mulți ani @Ion_Bumbu!

Obiecte vechi și inutile car...

Mentenanta Acoperis
 

sunet la fiecare secunda 0 (javascript)

- - - - -
  • Please log in to reply
6 replies to this topic

#1
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Pentru test, am inceput cu minutele (si secunda 0). In final, doresc ca la fiecare ora fixa (0 minute si 0 secunde), sa se auda un sunet.

M-am gandit la urmatorul javascript:
function pendula() {
   Digital=new Date()
   hours=Digital.getHours()
   minutes=Digital.getMinutes()
   seconds=Digital.getSeconds()

   if (seconds=0) {
	  document.write("<audio id='sound' src='../audio/Clock.mp3' autoplay='autoplay'></audio>");
   }
 }
</script>


Ca alternative, am incercat sa inlocuiesc linia document.write cu alte trei linii:
mysound="<audio id='sound' src='../audio/Clock.mp3' autoplay='autoplay'></audio>"  
document.getElementById("pendula").innerHTML=mysound
setTimeout("pendula()",60000)

plus apelul functiei: pendula(); inainte de a inchide tagul script. Dar nu functioneaza. Ce anume nu este bine?

Multumesc

#2
rzvanpopescu

rzvanpopescu

    Junior Member

  • Grup: Members
  • Posts: 117
  • Înscris: 21.08.2015
Operatorul de egalitate in javascript, ca si in majoritatea limbajelor este "==" . Tu folosesti "=" , care este operatorul de atribuire.

if (seconds==0) {
		  document.write("<audio id='sound' src='../audio/Clock.mp3' autoplay='autoplay'></audio>");
   }


#3
bobo666

bobo666

    Active Member

  • Grup: Members
  • Posts: 1,100
  • Înscris: 05.06.2015
Mai degraba trebuie folosit "===" care realizeaza o comparatie stricta.

#4
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Nu functioneaza nici cu ==, nici cu ===
Posted Image

#5
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Gata! Am reusit!
setTimeout trebuia scos in afara if-ului de verificare la secunda 0 (era logic), iar valoarea sa o fac de asemena la secunda (adica timpul sa il pun 1000, nu 60000).

Cod functional:
function pendula() {
	var Digital=new Date();
	var hours=Digital.getHours();
	var minutes=Digital.getMinutes();
	var seconds=Digital.getSeconds();

	if (seconds==0) {
	   mysound="<audio id='sound' src='../audio/Clock.mp3' autoplay='autoplay'></audio>";
	   document.getElementById("pendula").innerHTML=mysound;
	}
	setTimeout("pendula()",1000);
   }
   pendula();


Observatii:
- functioneaza cu ==
- nu merge bine daca pun document.write in loc de cele doua linii, in if-ul de verificare a secundei 0.

PS. Se poate inchide!

#6
bobo666

bobo666

    Active Member

  • Grup: Members
  • Posts: 1,100
  • Înscris: 05.06.2015
Obisnuieste-te sa faci comparatiile cu === in Javascript.

#7
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
As vrea acum ca la secunda zero, sa se auda acel sunet de atatea ori cate ore (sau minute) sunt; exact ca o pendula de perete sa zicem.
Clar trebuie sa fie o bucla if, dar nu functioneaza correct: fie nu se aude nimic, fie sunetul este redat o singura data.
function pendula() {
	var Digital=new Date();
	var hours=Digital.getHours();
	var minutes=Digital.getMinutes();
	var seconds=Digital.getSeconds();
	mysound="<audio id='sound' src='../audio/Clock.mp3' autoplay='autoplay'></audio>";
   
	if (seconds===0) {
	  for (var i=1; i<=hours; i++) {  
	   document.getElementById("pendula").innerHTML=mysound;
	  }
	  setTimeout("pendula()",1000);
	}
   }
   pendula();


Am incercat sa ma joc cu valoarea de la setTimeout, chiar sa si o scot, dar... Ceva idei?
Multumesc

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate