Autor Zpráva
harry
Profil
Zdravím všechny,
mám takový problém s otevíráním nových oken, nebo jak to správně pojemnovat. Na stránce bych potřeboval u jednoho menu vyřešit otevírání nových oken nebo popisků. Koukal jsem po internetu a to co hledám má třeba seznam.cz (na úvodní straně dole u televizního programu, kliknu na pořad, vyskočí malé okno a pomocí tlačítka ho zavřu - jakým zůsobem toto vytvořit, pomocí css? A jak nastavit vzhled a pozici okna, když chci, aby se každé okno zobrazilo například přesně pod daným odkazem jako na seznamu) nebo také mě velmi zajímá řešení třeba na intervalu.cz a jiných webech (kde jsou v článcích potržená slova s odkazy na reklamu, pokud najedu na slovo, zobrazí se mi okno s informací, jak dosáhnout tohoto? A zase jakým způsobem bych nastavil vzhled, ukotvení popisku, atd.).

Jde mi hlavně také o to jak to pak bude fungovat, zda pro každý popisek nebo otevírací okno budu muset vytvořit novou stránku, atd. Aby se to dalo jednoduše editovat, vkládat obrázky, atd...

Nevíte někdo, kde bych mohl tyto informace na webu získat, případně hlavně nějaké příklady podle kterých bych se trochu zorientoval. Snad jsem svůj problém popsal dostatečně...

Předem díky za rady a odpovědi.
tajny spion
Profil
Tak to ti rad poradim: modalni a nemodalni okna:

Vyjmul jsem ti jen cast myho webu: zde

Otevri si zdrojak a pohrabej se v tom. Sam to neumim popsat :(
tajny spion
Profil
Teda: zde :)
harry
Profil
nevím jestli jeto zrovna to co jsem hledal...jak nastavím vzhled toho okna, když se třeba podíváš na ten seznam...a jak nastavím zobrazení dialogového okna přesně pod odkazem...chtěl bych mít dialogové okno vlastního vzhledu, jak to provedu? A kam hlavně potom psát samotný text do okna + obrázky...díky
harry
Profil
opravdu nikdo neví...potřeboval bych okna jako jsou napříkla u reklma v textech (reklama take it)...
YoSarin
Profil
Jen nástřel:
Div, absolutně pozicovaný, onclick na odkaz - showHide(div) (mění display:block na display:none), při kliknutí na křížek zase showHide(div).

Kód od tajny spion nebrat - navštívil jsem tu stránku v opeře, a naprosto nic (kromě jednoho alertu) tam nefunguje.
harry
Profil
o nějakém hotovém příkladu nebo nějaké ukázce nevíš? kdybych to viděl na živém příkladu, snad bych se z toho dozvěděl více...
YoSarin
Profil
harry
Na podobném principu mám na svých stránkách udělaný životopis.
Jen to není absolutně pozicované a ohraničené...

Ten javascript co tam je ti bude stačit. Napozicovat si to snad dokážeš, ne? :)
tajny spion
Profil
YoSarin
Jeste jsi mu nerekl jak to pozicovat

harry
%, pevny jednotky by delaly problem u ruznych rozliseni
harry
Profil
>>YoSarin - no zkusim z toho neco zpytlikovat, nejsem z toho zrovna moudrej:(

Kdyby jste jeste meli nekde nejakou ukazku kodu z automaticky otevirajicim oknem po najeti na odkaz (jako je u reklam) a s moznosti editace vlastniho designu oteviraciho okna, nebo alespon info na nejake informace na webu budu vdecny...

koukal jsem na onclick, otevřít stránku po najetí myši na odkaz to není problém, ale jak udělat to aby se mi zobrazilo moje graficky upravené okno...stačil by mi kus kódu, abych se trochu chytnul...díky
YoSarin
Profil
harry
No, to okno udělej jako obyčejnej div a v css si ho nastyluj dle svých přání.
V css mu nastav position: absolute;
dej mu id třeba pop-up-div (aby to měl ad-block jednodušší ;) )
odkazu dej onclick="return closeOpen('pop-up-div', this);";
a v JS definuj fci closeOpen():
function closeOpen(elementId, caller){

element = document.getElementById(elementId);
if(element.style.display != "block"){
element.style.display = "block";
}
else element.style.display = "none";
findPosElement = caller;
var x = 0; var y = 0;
while(findPosElement != null ) {
y += findPosElement.offsetTop;
x += findPosElement.offsetLeft;
findPosElement = oElement.offsetParent;
}
element.style.top = y + caller.offsetHeight + 10 + "px";
element.style.left = x + "px";
}

Nezkoušel jsem, ale snad by to mohlo fungovat...
habendorf
Profil
YoSarin

element = document.getElementById(elementId);
if(element.style.display != "block"){
element.style.display = "block";
}
else element.style.display = "none";


Elegantněji:

elementStyle = document.getElementById(elementId).style;
elementStyle.display=(elementStyle.display == 'block')?'none':'block';
YoSarin
Profil
habendorf
Ano, to samé, ale hezčímy slovy. :) I když ternární operátor může někoho plést.
harry
Profil
díky zkusím...také jsem na webu našel overLIB, přes něj se mi bublinové popisky dělají výborně a vyhovuje to víceméně mým představám, akorát mě zajímá jestli nemáte někdo zkušenost s tím, že bych chtěl v popisku někde v textu zobrazit také obrázek...odkaz tam dostanu, ale obrázek ne (zkoušel jsem klasický tag img)...předem díky
YoSarin
Profil
harry
Pokud ten obrázek strčíš normálně do toho divu, tak by to mělo fungovat...
harry
Profil
>>YoSarin: myslíš u toho overLIB? můžeš mi poslat kousek kódu jak to napsat? Asi někde dělám chybu, jelikož to s tím obrázkem v textu pořád nemůžu rozchodit...
YoSarin
Profil
harry
Tak u overLIB netuším, s tím jsem neměl nikdy nic do činění...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: