Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt wywołanego z bazy zdjęcia z możliwością powiększenia w wyskakującym oknie o konkretnym rozmarze
Forum PHP.pl > Forum > PHP
sylwekb
Mam problem, którego nie umiem rozwiązać, otóż mam skrypt, który wyciąga z bazy zdjęcia zmieniające się losowo typu slideshow, na każde ze zdjęć jest możliwość kliknięcia i powiększenia wraz z opisem. Wszystko działa oprócz okna, które ma mieć ustaloną wielkość tzn width=680, height=530, a niestety otwiera się po kliknięciu w obraz pełne okno. Czy ktoś może mi powiedzieć co zrobiłem nie tak bo już się zamotałem ? Problem pewnie tkwi gdzieś we fragmencie kodu dotyczącego javascriptu. Poniżej kod skryptu

Kod
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>

<?php
    $image = explode( ",", trim($params->get( 'images' )) );
    $url = explode( ",", trim($params->get( 'urls' )) );
        
    $addhttp = trim($params->get( 'addhttp' ));

    if ($addhttp)
    {
        for($i=0;$i<count($image);$i++)
        {
            $url[$i]="http://".$url[$i];
        }
    }
?>
<script type="text/javascript">
function New() { window.open("","new","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable
0,width=680,height=530");
}
var fadeimages=new Array()
<?php for($i=0;$i<count($image);$i++) { ?>
    fadeimages[<?php echo $i; ?>]=["<?php echo JURI::root().trim($params->get( 'folder' ))."/". $image[$i]; ?>", "<?php echo $url[$i] ?>",onClick="New()","_new"]
<?php } ?>
var fadebgcolor="white"
</script>

<script src="<?php echo JURI::root(); ?>modules/mod_slideshow/scripts/fscript.js" language="JavaScript1.2"></script>

<style type="text/css">
.centerdiv{ /*IE method of centering a relative div*/
text-align: center;
}

.centerdiv>div{ /*Proper way to center a relative div*/
margin: 0 auto;
}
</style>

<div class="centerdiv">
<script type="text/javascript">
//new fadeshow(IMAGES_ARRAY_NAME, slideshow_width, slideshow_height, borderwidth, delay, pause (0=no, 1=yes), optionalRandomOrder)
new fadeshow(fadeimages, <?php echo trim($params->get( 'width' )); ?>, <?php echo trim($params->get( 'height' )); ?>, 0, <?php echo trim($params->get( 'delay' )); ?>, <?php echo trim($params->get( 'stopslide' )); ?>, "<?php echo trim($params->get( 'random' )); ?>")
</script>
</div>
erix
Kod
window.open("","new","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable
0,width=680,height=530");

Poszukaj, jak ma wyglądać window.open. Temat stary, jak świat. winksmiley.jpg
sylwekb
Właśnie szukam i nie mogę znaleźć gdzie zrobiłem błąd mimo wstawienia do skryptu window open, że nie skaluje mi okna do zadanego rozmiaru tylko wyświetla się zwykłe duże nowe okno.
erix
Przyjrzyj się składni parametrów. Więcej nie powiem; pobaw się gotowymi przykładami i włącz myślenie.
sylwekb
Problem rozwiązany oczywiście był mój błąd w skrypcie, poprawna konstrukcja powinna być:

<script type="text/javascript">
function displayWindow(url, width, height)
{
var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no' );
}
var fadeimages=new Array()
<?php for($i=0;$i<count($image);$i++) { ?>
fadeimages[<?php echo $i; ?>]=["<?php echo JURI::root().trim($params->get( 'folder' ))."/". $image[$i]; ?>", "java script:displayWindow('<?php echo $url[$i] ?>',800,600)",'_self']
<?php } ?>
var fadebgcolor="white"
</script>
<script src="<?php echo JURI::root(); ?>modules/mod_slideshow/scripts/fscript.js" language="JavaScript1.2"></script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.