Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JS] fout bij splitten naar array

Pagina: 1
Acties:

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
Ik probeer getallen om te zetten naar plaatjes dmv javascript bij een aftelscript.
Dus 12 wordt dan <img src=1.jpg alt="blaat"> + <img src=2.jpg alt="blaat">
Nu gaat het helaas fout als ik probeer 12 te splitten in 1 en 2.
Firebug geeft de foutmelding "n_dagen_b.split("") is not a function"

Ik heb gezocht op GoT en Google en een bepaalde deel ook aangepast naar wat ik op GoT vond.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var n_dagen_b =arguments[0]
var n_uren_b =arguments[1]
var n_minuten_b=arguments[2]
var n_seconden_b=arguments[3]

a1= new Array();
a1 =n_dagen_b.split("")

a2 = new Array();
a2 =n_uren_b.split("")

a3 = new Array();
a3 =n_minuten1_b.split("")

a4 = new Array();
a4 = n_seconden_b.split("")


O ja ik heb n_dagen_b al ge-echoed (hoe schrijf je dit 8)7 ) en daar komt een getal uit

[ Voor 5% gewijzigd door MuisM4t op 08-12-2007 17:07 ]


  • user109731
  • Registratie: Maart 2004
  • Niet online
Ik denk dat je er eerst een string van moet maken:
JavaScript:
1
var arr = n_dagen_b.toString().split("");
:)

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
inderdaad, zo werkt het wel.

edit:

Ik heb nu dit, maar hij doet het niet, firebug geeft geen foutmelding.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var n_dagen_b =arguments[0]
var n_uren_b =arguments[1]
var n_minuten_b=arguments[2]
var n_seconden_b=arguments[3]

var a1= new Array(); 
var a1 = n_dagen_b.toString().split("")

var a2 = new Array();  
var a2 = n_uren_b.toString().split("")

var a3 = new Array();  
var a3 = n_minuten_b.toString().split("")

var a4 = new Array();  
var a4 = n_seconden_b.toString().split("")

var n_dagen_a ="<img src='/" + a1[0] + "'.jpg/ alt='' />"
var n_dagen_a1 ="<img src='/" + a1[1] + "'.jpg/ alt='' />"
var n_dagen_a2 ="<img src='/" + a1[2] + "'.jpg/ alt='' />"
var n_uren_a  ="<img src='/" + a2[0] + "'.jpg/ alt='' />"
var n_uren_a1 ="<img src='/" + a2[1] + "'.jpg/  alt='' />"
var n_minuten_a ="<img src='/" + a3[0] + "'.jpg/  alt='' />"
var n_minuten_a1 ="<img src='/" + a3[1] + "'.jpg/  alt='' />"
var n_seconden_a ="<img src='/" + a4 [0] + "'.jpg/  alt='' />"
var n_seconden_a1 ="<img src='/" + a4 [1] + "'.jpg/  alt='' />"

var displaystring=n_dagen_a + n_dagen_a1 +n_dagen_a2 +"dagen"+ n_uren_a + n_uren_a1 +"uren"+n_minuten_a +n_minuten_a1 +"minuten"+ n_seconden_a +n_seconden_a1 +"seconden"

return  displaystring 

[ Voor 100% gewijzigd door MuisM4t op 09-12-2007 22:26 ]


  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
bump...
in IE kreeg ik van die icoontjes dat de afbeelding niet kan worden gevonden.
Ik heb alle getallen opgeslagen als bijvoorbeeld 1.jpg , 2.jpg, Firebug geeft geen foutmelding, dus het lijkt me dat het fout gaat met m´n src.

  • DanielG
  • Registratie: Oktober 2005
  • Laatst online: 08-09 15:36

DanielG

i = 0x5f3759df - (i>>1); ☠₧ℳ🀪❣

Firebug geeft misschien geen foutmelding maar als je console.log(n_dagen_a); doet zie je misschien waarom die img tag niet helemaal goed is.

Ik gok zelf dat het komt door dit gedeelte:
a2[1] + "'.jpg/

http://xyproblem.info/


  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
Aha , ik zie het ! hij doet dus dit : <img src-"/1" />, waarna hij een 404 error krijgt, want dit bestaat niet.
Nu nog even zoeken naar de oplossing.

1.Weer iets geleerd voor Firebug!
2. Daarom vind ik JS zo vervelend/lastig, je kan niet zoals met PHP zien wat er in je HTML uitkomt.

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 28-11 15:56

killercow

eth0

Is een mooiere oplossing niet het gebruik van string.length, en sring.charAt?
Dan heb je veel minder code nodig lijkt me, en ben je veel flexibeler.

openkat.nl al gezien?


  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
JavaScript:
1
var n_dagen_a ="<img src='/" + a1[0] + ".jpg' alt='' />"


Hij werkt nu iig, liep te klungelen met m'n quotes.
Dan zal ik nu eens kijken naar de dingen die killercow aandraagt.

edit:


ik wil ook dat 1 -->001
en 10 ->010

enz.

nu heb ik twee vragen m.b.t. onderstaande code:
1. waarom denkt firebug dat deze string geen string is. (hij werkt ook niet)
2. dit moet simpeler kunnen dmv een loop. Heeft iemand een idee?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (string.length(n_dagen_b.toString()) == 1)
{ var n_dagen_a ="<img src'0.jpg' alt='' />"
var n_dagen_a1="<img src'0.jpg' alt='' />"
var n_dagen_a2 ="<img src='/" + a1[0] + ".jpg' alt='' />"
}
if (string.length(n_dagen_b.toString()) == 2)
{
var n_dagen_a ="<img src'0.jpg' alt='' />"  
var n_dagen_a1 ="<img src='/" + a1[0] + ".jpg' alt='' />"
var n_dagen_a2 ="<img src='/" + a1[1] + ".jpg' alt='' />"
    }
else 
{var n_dagen_a ="<img src='/" + a1[0] + ".jpg' alt='' />"
var n_dagen_a1 ="<img src='/" + a1[1] + ".jpg' alt='' />"
var n_dagen_a2 ="<img src='/" + a1[2] + ".jpg' alt='' />"
}

[ Voor 69% gewijzigd door MuisM4t op 10-12-2007 18:03 ]


  • Juup
  • Registratie: Februari 2000
  • Niet online
Wat zit je toch enorm te rommelen.
Als je nu eens iets als dit zou doen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var n_dagen_b =arguments[0];
var n_uren_b =arguments[1];
var n_minuten_b=arguments[2];
var n_seconden_b=arguments[3];

function numberToImagesHTML(number)
{
  if (number < 10)
  {
    number = "0" + number.toString(); //force concatenation
  }
  return '<img src="/' + number.charAt(0) + '.jpg"/><img src="/' + number.charAt(1) + '.jpg"/>'
}
return numberToImagesHTML(n_dagen_b) + numberToImagesHTML(n_uren_b) + numberToImagesHTML(n_minuten_b) + numberToImagesHTML(n_seconden_b);


bovenstaande code is ONGETEST en slechts een schop in de goede richting.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
jaaap , klopt dat ik zit(zat) te rommelen,ben zo goed als opnieuw begonnen.
Ik heb het nu zo:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var n_dagen_b =arguments[0]
var n_uren_b =arguments[1]
var n_minuten_b=arguments[2]
var n_seconden_b=arguments[3]
var display = "";
var dagen = "";
var uren = "";
var minuten = "";
var seconden = "";

function makearr(lang, wat) {
    var b1 = new Array();
    var corr = lang - (wat.toString().split("").length);
    for (var a = 0; a < corr; a++) {
        b1[a] = 0;
    }
    b1 = b1.concat(wat.toString().split(""));
    return b1;
}
function makeimg(arr) {
    var disp = "";
    for (var i = 0; i < arr.length; i++) {
        disp += '<img src="' + arr[i] + '.jpg" alt="" />';
    }
    return disp;
}

var a1 = new Array();
a1 = makearr(3, n_dagen_b);
dagen = makeimg(a1);

var a2 = new Array(); 
a2 = makearr(2, n_uren_b);
uren = makeimg(a2);

var a3 = new Array(); 
a3 = makearr(2, n_minuten_b);
minuten = makeimg(a3);

var a4 = new Array(); 
a4 = makearr(2, n_seconden_b);
seconden = makeimg(a4);

displaystring = dagen  + " dagen " + uren + " uren " + minuten + " minuten " + seconden +" seconden"; 
Pagina: 1