charlie-cherry
31.07.2009, 15:14:22
Chcę wykonać taką sondę, która by dodawała do siebie czas trwania poszczególnych utworów (piosenek) i mam problem ze stroną arytmetyczną tegoż. Czy w Javascript da się przeprowadzać operacje typu "odejmij trzydzieści sekund od 1:10"?
Patman
31.07.2009, 16:28:28
Możesz taką wartość przetworzyć na sekundy, aby później wykonywać dalszą część operacji. Poniżej rozwiązanie:
<script type="text/javascript"> var czas = "1:30"; //wartość
var select = czas.search(':'); //wyszukanie indexu znaczka ":"
if(select>0){
var val = czas.slice(0,select) * 60 + parseInt(czas.slice(select+1)); //mamy 90 zamiast 1:30
/*dalsza część kodu*/
}
Powinno wszystko działać dla wartości typu minuty:sekundy
Pawel_W
31.07.2009, 18:56:10
a o split() Pan @up nie slyszal?
charlie-cherry
2.08.2009, 08:49:28
Tak, te sekundy to dobry pomysł, acz zrobiłem to nieco inaczej. W formularzu mam value od razu w sekundach, potem dzielę ich liczbę przez 60 i zaokrąglam w dół. Tak otrzymuję pierwszą liczbę czasu, czyli minuty. Drugą, czyli sekundy, tworzę poprzez dzielenie modulo z liczby sekund, ew. dodając zero na początku jeśli łańcuch zawiera tylko jeden znak (bo zamiast "7", powinno być "07").