Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Pomozte mi s JavaScriptem prosim :(

Dobrý den,
Na stránkách které předělávám je k otevírání obrázků z náhledu do nového okna používán tento script:

<script type="text/javascript">
<!--
function otevri(url,sirka,vyska)
{
  var okno;
  var zleva=(screen.width-sirka)/2;
  var zhora=(screen.height-vyska)/2;
  var winprops='width='+sirka+',height='+vyska+',top='+zhora+',left='+zleva+',toolbar=no,resizable=yes';
  okno=window.open(url,"okno",winprops);
 return false;
}
//-->
</script>

a v odkazu na obrzak je:

onclick="otevri('obrazek.jpg',820,620);return false;"

Narazil sem ale na problém. Když otevřu jeden obrazek tak vyskočí okno s většímm obrázkem, pokud ale pak kliknu na jiný náhhledový obrázek tak se sice zobrazí, ale v tom samém okně a nevyskočí nad prohližeč. Potřeboval bych poradit, buď jak donutit okno vyskočit, a nebo jak obrázek otevřít v jiném, novém okně. Děkuju za každou radu.

Předmět Autor Datum
Aby sa okno dalo dopredu, musíš po otvorení ešte zavolať jeho metódu focus. Mierne by som to upravi…
los 02.08.2006 11:39
los
Ahoj, může to být třeba takto :¨ <script type="text/javascript"> var haf=0; <!-- function otevri(ur…
AZOR 02.08.2006 11:44
AZOR
Vsem dekuju za radu... a nejvice Azorovy... pouziju jeho fintu s promenou HAF :) z toho duvodu, ze j…
trew.x 02.08.2006 11:51
trew.x
Ak to chceš otvárať vždy do nového okna, môžeš rovno použiť ako názov "_blank" a nemusíš robiť žiadn…
los 02.08.2006 11:53
los
:-[ tak to s tim _blank bude pravda, ja osobně jsem _blanka nikdy nepoužíval, na nové okno mi vždy s… poslední
AZOR 02.08.2006 12:20
AZOR
Jestli jde jenom o to, aby se to otevrelo v novem okne, tak staci dat nazev "_new".
Ynd0r 02.08.2006 11:55
Ynd0r
No jo :) mate pravdu.. to nejjednoduzsi reseni je taky nejlehci :) Dekuji :) Ja se v JS vubec nevyzn…
trew.x 02.08.2006 12:11
trew.x

Aby sa okno dalo dopredu, musíš po otvorení ešte zavolať jeho metódu focus.

Mierne by som to upravil, aby to nejako fungovalo aj pri príliš aktívnom blokovaní popup okien:

function otevri (url, sirka, vyska)
{
  var zleva = (screen.width - sirka) / 2;
  var zhora = (screen.height - vyska) / 2;
  var winprops = "width=" + sirka + ",height=" + vyska + ",top=" + zhora + ",left=" + zleva + ",toolbar=no,resizable=yes";
  var okno = window.open (url, "okno", winprops);

  if (okno)
    okno.focus ();

  return okno;
}

a v odkaze by bolo

href="obrazek.jpg" onclick="return !otevri(this.href,820,620)"

Ahoj, může to být třeba takto :¨

<script type="text/javascript">
var haf=0;
<!--
function otevri(url,sirka,vyska)
{
haf++;
  var okno;
  var zleva=(screen.width-sirka)/2;
  var zhora=(screen.height-vyska)/2;
  var winprops='width='+sirka+',height='+vyska+',top='+z hora+',left='+zleva+',toolbar=no,resizable=yes';
  okno=window.open(url,"okno"+haf,winprops);
 return false;
}
//-->
</script>

Jde o to aby se ty okna nejmenovali stejně, jinak se to bude otvírat v tom samém. Takhle do názvu okna dávám
ještě jednu proměnou.
Anebo takto :

<script type="text/javascript">
<!--
function otevri(url,budlik,sirka,vyska)
{

  var okno;
  var zleva=(screen.width-sirka)/2;
  var zhora=(screen.height-vyska)/2;
  var winprops='width='+sirka+',height='+vyska+',top='+zhora+',left='+zleva+',toolbar=no,resizable=yes';
  okno=window.open(url,budlik,winprops);
 return false;
}
//-->
</script>

Čimž jsem přidal do funkce ještě jednu proměnnou(budlik), která se projeví i img:

<img onclick="otevri('sudoku.jpg','marta',820,620);retu rn false;" src="obr.jpg">
<img onclick="otevri('sudoku.jpg','jinej_nazev',820,620 );return false;" src="obr.jpg">

Ak to chceš otvárať vždy do nového okna, môžeš rovno použiť ako názov "_blank" a nemusíš robiť žiadnu čiernu mágiu :-).

edit: princíp haf nebude fungovať, keď dáš refresh hlavného okna a zostanú otvorené okná s menom haf1, haf2, ..., pretože po refreshi sa premenná haf vynuluje a obrázky sa začnú nahrávať do tých okien rovnako ako predtým.

:-[ tak to s tim _blank bude pravda, ja osobně jsem _blanka nikdy nepoužíval, na nové okno mi vždy sloužila jednopísmená proměnná, která neexistovala, či nějaké (libovolné bouchnutí do klávesnice)

ad edit: ..taky by tam nemuselo bejt haf++ ale dostatečně šílené Random :-D:-p

Zpět do poradny Odpovědět na původní otázku Nahoru