Hoe kan ik een if else statement gebruiken in een javascript array
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const hotspots = [{
top: (90* scaleToWidth),
left: (680* scaleToWidth),
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
top: (90* scaleToWidth),
left: (680* scaleToWidth),
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
Ik wil deze twee waardes:
top: (90* scaleToWidth),
left: (680* scaleToWidth),
Aanpassen adhv van een if else statement, dus dat probeer ik zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const hotspots = [{
if(window.outerWidth > 991) {
top: (90* scaleToWidth),
left: (680* scaleToWidth),
}else{
top: (250* scaleToWidth),
left: (680* scaleToWidth),
}
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
if(window.outerWidth > 991) {
top: (90* scaleToWidth),
left: (680* scaleToWidth),
}else{
top: (250* scaleToWidth),
left: (680* scaleToWidth),
}
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
Maar hiermee krijg ik: Unexpected token '.'
Hoe kan zoiets?
Je moet de logica naar buiten je array plaatsen, waarbij je een variabele aanmaakt, die je wel in je array kan plaatsen.
Is dit niet met een dirtyfix op te lossen? Ik heb een hoop wisselende waardes dus die plaats ik het liefste direct in de array ipv nog een hele brei aan code erbuiten.
Lijkt mij in jouw code geen probleem.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if(window.outerWidth > 991) {
var $gordijnenpos = 'top: (90* scaleToWidth),left: (680* scaleToWidth),';
}else{
var $gordijnenpos = 'top: (250* scaleToWidth),left: (680* scaleToWidth),';
}
const hotspots = [{
$gordijnenpos,
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
var $gordijnenpos = 'top: (90* scaleToWidth),left: (680* scaleToWidth),';
}else{
var $gordijnenpos = 'top: (250* scaleToWidth),left: (680* scaleToWidth),';
}
const hotspots = [{
$gordijnenpos,
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
];
Want als ik dit doe komt die variabele er gewoon als variabele in te staan, ipv de inhoud ervan, dit is de broncode:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const hotspots = [{
$gordijnenpos,
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
$gordijnenpos,
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
},
Gewijzigd op 06/04/2021 11:34:44 door Snelle Jaap
Hoewel ik het dollarteken in JS bijzonder vind. ;-)
Haha ja een gewoonte
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const hotspots = [{
gordijnenspots: window.outerWidth > 991
? 'top: (90* scaleToWidth),left: (680* scaleToWidth),'
: 'top: (250* scaleToWidth),left: (680* scaleToWidth),',
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
}];
alert(hotspots[0].gordijnenspots);
gordijnenspots: window.outerWidth > 991
? 'top: (90* scaleToWidth),left: (680* scaleToWidth),'
: 'top: (250* scaleToWidth),left: (680* scaleToWidth),',
radius: 10,
fill: 'rgba(0, 159, 227, 0)',
id: 'cirkel1',
hoverCursor: 'pointer',
selectable: false,
imgtop: 71,
imgleft: 236,
imgheight: 335,
imgwidth: 514,
placement: 'bottom',
tooltipid: 'cirkel1',
imgUrl: 'https://website.nl/new/cms/images/canvas/woonkamer/gordijnen.jpg'
}];
alert(hotspots[0].gordijnenspots);