ben bezig met een (ajax) js script wat bij het onmouseover en onmouseout event van een DIV de onderstaande functies uit moet voeren. De bedoeling is dat als men met de cursor over de DIV gaat, dat er een hidden DIV verschijnt welke wordt gevult met data die in de achtergrond word opgehaald.
Er zijn meerdere DIV regels die verschillende data in de verborgen DIV laten zien.
Het script doet tot nu toe het "openen" van de verborgen DIV en het toevoegen van de data die welke wordt toegevoegd door prod_vraag_antwoord_tekst. Zodra ik over DIV1 ga dan laat hij het verborgen div zien met de data die opgehaald word. Als ik over DIV2 ga dan laat hij het verborgen div zien met de oude data van DIV1 en de nieuwe data van DIV2.
Het Probleem:
Ik krijg het niet voorelkaar om de DIV tussentijds te legen....
Als ik dus over DIV1 ga dan moet de div alleen de relevante data laat zien van de betreffende div.
Als ik over DIV2 ga dan wil ik geen data van 1 meer zien. Eigenlijk moet het object worden "gesloopt" aan het begin van de functie. Krijg dit alleen niet voor elkaar.
Hidecontent handelt af:
het verbergen van de DIV
Showcontent handelt af:
- de cursor lokatie
- het XHR object
prod_vraag_antwoord_tekst handelt af:
- het splitsen van de responseText
- het maken van de table
- de table aan de DIV toevoegen
doormiddel van de onderstaande link/div laat ik alles uitvoeren:
<div onmouseover=""ShowContent('oTableContainer',"&rs("prod_id")&")"" onmouseout=""HideContent('oTableContainer')"" class=""inner_bestelling_main"" style=""width:50px;float:left;align:left;background-color:#F2F2F2;height:18px"">"&rs("Prod_aantal")&"</div>
Er zijn meerdere DIV regels die verschillende data in de verborgen DIV laten zien.
Het script doet tot nu toe het "openen" van de verborgen DIV en het toevoegen van de data die welke wordt toegevoegd door prod_vraag_antwoord_tekst. Zodra ik over DIV1 ga dan laat hij het verborgen div zien met de data die opgehaald word. Als ik over DIV2 ga dan laat hij het verborgen div zien met de oude data van DIV1 en de nieuwe data van DIV2.
Het Probleem:
Ik krijg het niet voorelkaar om de DIV tussentijds te legen....
Als ik dus over DIV1 ga dan moet de div alleen de relevante data laat zien van de betreffende div.
Als ik over DIV2 ga dan wil ik geen data van 1 meer zien. Eigenlijk moet het object worden "gesloopt" aan het begin van de functie. Krijg dit alleen niet voor elkaar.
Hidecontent handelt af:
het verbergen van de DIV
Showcontent handelt af:
- de cursor lokatie
- het XHR object
prod_vraag_antwoord_tekst handelt af:
- het splitsen van de responseText
- het maken van de table
- de table aan de DIV toevoegen
doormiddel van de onderstaande link/div laat ik alles uitvoeren:
<div onmouseover=""ShowContent('oTableContainer',"&rs("prod_id")&")"" onmouseout=""HideContent('oTableContainer')"" class=""inner_bestelling_main"" style=""width:50px;float:left;align:left;background-color:#F2F2F2;height:18px"">"&rs("Prod_aantal")&"</div>
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
| function HideContent(d) { if(d.length < 1) { return; } document.getElementById(d).style.display = "none"; } function ShowContent(d,id) { if (!e) var e = window.event||window.Event; if('undefined'!=typeof e.pageX) { mX = e.pageX; mY = e.pageY; }else { mX = e.clientX + document.body.scrollLeft; mY = e.clientY + document.body.scrollTop; } //var Post_value xhr = false; try{ // Opera 8.0+, Firefox, Safari xhr = new XMLHttpRequest(); }catch(e){ // Internet Explorer Browsers try{ xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ // Something went wrong alert("Your browser broke!"); return false; } } } document.getElementById(d).style.display = "block"; document.getElementById(d).style.top = mY-150; document.getElementById(d).style.left = mX-170; xhr.onreadystatechange = prod_vraag_antwoord_tekst; var ran_unrounded=Math.random()*10000000; var ran_number=Math.floor(ran_unrounded); var queryString = "ajax_functies.asp?pagina=get_vragen&prod_id="+id+"&un="+ran_number; xhr.open ('GET', queryString, true); xhr.send (null); } function prod_vraag_antwoord_tekst() { if (xhr.readyState == 4) { if (xhr.status == 200) { //alert(xhr.responseText); val = xhr.responseText; split_var = xhr.responseText.split(';;'); array_size = split_var.length-1; myCounter=0; var oTable = document.createElement("TABLE"); var oTHead = document.createElement("THEAD"); var oTBody = document.createElement("TBODY"); var oTFoot = document.createElement("TFOOT"); var oRow = new Array(); var oCell = new Array(); oTable.appendChild(oTHead); oTable.appendChild(oTBody); oTable.appendChild(oTFoot); // Set the table's border width and colors. oTable.border=1; oTable.width=400; oTable.bgColor="#ffffff"; var count_row = 1; var count_col = 2; while(myCounter<array_size){ cell_vulling =split_var[myCounter].split('::'); oRow[myCounter] = document.createElement("TR"); //alert(cell_vulling) oCell[0] = document.createElement("TD"); oCell[1] = document.createElement("TD"); oCell[0].innerText = cell_vulling[0]; oCell[1].innerText = cell_vulling[1]; oRow[myCounter].appendChild(oCell[0]); oRow[myCounter].appendChild(oCell[1]); oTFoot.appendChild(oRow[myCounter]); myCounter++; } oTableContainer.appendChild(oTable); } else { alert ('Geen vragen..'); } } } |
https://www.taltion.nl, https://www.trekhaakkoffer-huren.nl, https://www.fietsendrager-huren.nl, https://www.fietskar-huren.nl