bassebhuMedlem sedan nov. 20016 480 inlägg Jag har byggt följande funktion och det funkar som jag vill, men bara en gång, sen upphör det att fungera. Jag gissar att den fyller nåt i domen som sedan används nästa gång i stället för att börja från scratch med rows då .data('frames') har fått nya värden.
Idér hur jag kan nollställa allt efter att #total-duration har uppdaterats? Tack!
/* Update total time */
$.fn.updateTotalTime = function() {
var total_frames = 0;
var rows = $('#container .list-item'); // <tr> i en tabell
rows.each(function() {
var add_frames = $(this).data('frames');
total_frames = total_frames+add_frames;
});
var timecode = frames_to_timecode(total_frames, $('body').data('p_tc_rate'), true, false);
$('#total-duration').html(timecode);
};
har du ett HTML exempel?
vad gör frames_to_timecode?
bassebhuMedlem sedan nov. 20016 480 inlägg frames_to_timecode() lägger bara till lite kolon och grejer, inget som hindrar timecode från att få ett nytt värde.
Detta kör jag när jag uppdaterar data("frames"):
$('#id-<?php echo $row['id']; ?>').attr('data-frames', result[0].frames); // en <tr> i tabellen
$(document).updateTotalTime();
Är det så att jag uppdaterar data-frames, men den inte känner av de nya värdena? Fast den gör ju det första gången, så det känns mer som att det som körs i each lagras nånstans och körs igen nästa gång updateTotalTime körs.
Jag är förvirrad :)
bassebhuMedlem sedan nov. 20016 480 inlägg Jag kom på det!
add_frames = parseInt($(this).attr('data-frames'));
var nyckeln!
Den lade ihop båda värdena till en sträng utan parseInt, men varför inte .data('frames') funkade skulle jag gärna vilja veta?
jag hade försökt köra .data() istället... och pars:a int med radix 10:
add_frames = parseInt($(this).data('frames'), 10);
bassebhuMedlem sedan nov. 20016 480 inlägg Det är det som är det skumma. Det funkar inte med .data(). Jag får inte fram något värde då. Jag kan inte heller uppdatera med .data('frames', value)
vilken version få du ut av jquery?
$.fn.jquery
bassebhuMedlem sedan nov. 20016 480 inlägg hehe, jag har kört två versioner av jquery hela tiden. 2.1.1 laddades först och överskrevs av 1.10.2. Ska plocka bort den gamla och se vad som slutar att funka. Tror den är där av en orsak. Kör även migrate-1.2.1.min ser jag av nån anledning. Haha bra koll! Återkommer. Tack.
bassebhuMedlem sedan nov. 20016 480 inlägg Har fått bort både den äldre jQueryn och migrate, men fortfarande så funkar bara .attr, inte .data. Skumt. Jag använder .data på andra ställen och där fungerar det. Kan inte se att jag har gjort något fel. Det funkar ju, men bara lite OCD som vill att det ska stå .data i stället.
bassebhuMedlem sedan nov. 20016 480 inlägg