multiple popups (+ASP)

Status
Niet open voor verdere reacties.

earthmaker

Gebruiker
Lid geworden
23 aug 2007
Berichten
6
Hallo,

Ik zou graag meerdere popups op één pagina willen openen. Hiervoor gebruik ik volgend script.

function popitup(url) {
newwindow=window.open(url,'name','height=600,width=700');
if (window.focus) {newwindow.focus()}
return false;
}


In de body wordt deze functie aangeroepen in volgende regel.

<a class="shop" href="laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>" onclick="return popitup('laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>')"><%=rsLaptop("Laptopnaam")%></a>

De bedoeling is dat laptopdetail2.asp meerdere malen als popup kan worden geopend, afhankelijk van LaptopID. Het script werkt, maar bij het klikken op de link verandert de content in de popup i.p.v. dat er een nieuwe popup wordt geopend.

PLEASE HELP ME OUT!


Thx!


Earthmaker
 
Je draagt hem op hetzelfde venster te open. window.open([....], [naam_van_popup], [....]). Die naam van popup moet voor iedere popup anders zijn. Geef hem bijvoorbeeld het id van je laptop nee:

HTML:
<script type="text/javascript">
function popitup(url, id) {
newwindow=window.open(url,'name'+id,'height=600,width=700');
if (window.focus) {newwindow.focus()}
return false;
}
</script>

<a class="shop" href="laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>" onclick="return popitup('laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>', <%=rsLaptop("LaptopID")%>)"><%=rsLaptop("Laptopnaam")%></a>

That should do it.

Wout
 
Bedankt voor je snelle recatie!

Ik heb de code die je voorstelde geprobeerd en dat blijkt te werken. Bedankt hiervoor!
Nu heb ik nog één probleempje, nl. ik zou de verschillende popups telkens op een andere locatie in IE willen openen zodat ze elkaar niet (volledig) overlappen.

Enig idee?


Thx!


Earthmaker
 
Dat zou automatisch moeten gebeuren. Maar als dat neit het geval is (waar kun je in deze wereld nog vanuit gaan hè:-p) dan zou ik het volgende doen:
HTML:
<script type="text/javascript">
var popupid = 0;
function popitup(url) {
popupid++;
newwindow=window.open(url,'name'+popupid,'height=600,width=700,left='+(popupid*20));
if (window.focus) {newwindow.focus()}
return false;
}
</script>

<a class="shop" href="laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>" onclick="return popitup('laptopdetail2.asp?id=<%=rsLaptop("LaptopID")%>')"><%=rsLaptop("Laptopnaam")%></a>

Ik heb het var popupid aangemaakt. Deze wordt bij iedere keer laden met ééntje verhoogd. Bij het genereren van de window geef ik aan dat hij het id van de window keer 20 moet doen. Resultaat:
Popup1 wordt 20px vanaf links geopend
Popup2 wordt 40px vanaf links geopend

enz. enz. enz. Die 20 kun je in alle veranderen. Verder kun je natuurlijk hetzelfde geintje met de height doen. Enz. enz. enz.

Succes

Wout
 
Thx!!!

Toch nog een laatste probleempje, nl. left='+(popupid*200) lukt, maar om hetzelfde te doen maar dan met top lukt niet. Ik weet het dit zou peace of cake moeten zijn, maar toch... it's not my day


Thx!


Earthmaker
 
vergeet de scheidende komma niet, en verder is het gewoon:

'top='+(popupid*200)

Wout
 
Heb nu volgende code:

window.open(url,'name'+popupid,'height=600,width=700,left='+(popupid*200),'top='+(popupid*200));

Maar dit blijkt niet te werken.


Thx!


Earthmaker
 
Even goed opletten wat je typt, want je hebt een ' verkeerd staan :)

window.open(url,
'name'+popupid,
'height=600,
width=700,
left='+(popupid*200)+',
top='+(popupid*200)
);

Die werkt wel ;-)

wout
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan