Avatar billede nc85 Nybegynder
09. juni 2004 - 23:04 Der er 23 kommentarer og
1 løsning

Image galleri, nyt vindue når du trykker på billede?

Hey allesammen...

Jeg har et script der laver et galleri med billeder jeg har liggende i en mappe!

Disse er så kørt ned i thumbnails, når du trykker på dem åbner de i samme vindue, altså _parent!

Det skal det ikke, det er det der er problemet! Jeg vil gerne have det til at åbne i et popup vindue, hvor jeg kan definere størrelsen på vinduet, eller bare vinduet tilpasser dig til billedet! Er det muligt? Hvis ja, hvordan så?

______________

Min kode:

<?
//----  Settings Start ---\\
// Image Information
$imageWidth=100;
$imageHeight=75;

// Table Layout
$rows=3;
$cols=5;

//Image path
$libery="images/"; // remember to finish with /

// Settings Stop----------//

$viewNum=$cols*$rows;
if(!$firstImage){ // so it works if you just enter default.php and show the pictures without having to define the variables in the path
                $firstImage=1;
}
function getImages($firstImage){
        global $viewNum, $imageWidth, $imageHeight,$cols,$libery;  //insures that the function gets the variables
        $handle=opendir($libery); //opens directory
        while($file=readdir($handle)){ // reads the directory
                $extension=substr($file,-4); // gets the extension of the files
                if(($extension == ".jpg") || ($extension == ".gif") || ($extension == ".png") ){ // checks for image files
                        $all[]=$file;  //adds positive results to the archive
                }
        }
        $colscounter=0; // variable that controls the tablebuilding system below
        $firstImage--; // variable that insures that the first image is being showed. Case: It looks best if the links begins with 1 but the array begins with 0
        if(isset($all)){  // if array is set build the table
                print "<table>";
                for($i=$firstImage; $i < $firstImage+$viewNum; $i++){
                        if($all[$i]){ // checks for rinning dry of imges
                                if($i==$firstImage + $colscounter*$cols){ // if true: new row
                                        $colscounter++;
                                        print "<tr>";
                                } // add the image
                                print "<td><a href='".$libery."".$all[$i]."'><img src='".$libery."".$all[$i]."' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a></td>";
                        }
                        else{ // stop if no more images
                                break;
                        }
                }
                print "</table><br>";
                $num=count($all);  //number of pictures in actual libery
                makeList($num); // function to make the links list
        }
        else{
                print "Der var desværre ingen billeder i dette bibliotek<br><a href='java script:history.back()'>Go Back</a>";
        }
}
function makeList($num){
        global $libery, $firstImage, $viewNum; //insures that the function gets the variables
        $numLinks = $num / $viewNum; // finds the number og links to be maked
        for($a=0; $a < $numLinks;$a++){
                        $start=$a*$viewNum+1;  //adds 1 because then the links begins with ex. number 1-10 and 11-20 instead of 0-10 and 10-20
                        $finish=$a*$viewNum+$viewNum;
                        if($finish>$num){ // insures that the final link returns the right amount of pictures instead of to much
                                $finish=$num;
                        }
                if(($firstImage >= $start) && ($firstImage < $a * $viewNum+$viewNum)){ // if true: makes no link because you already are on the page
                        print "$start - $finish</a>&nbsp;&nbsp;";
                }
                else{ // makes the link
                        print "<a href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a>&nbsp;&nbsp;";
                }
        }
}
?>
Avatar billede jaw Nybegynder
09. juni 2004 - 23:08 #1
Jeg har en i JS, men ved ikke om du kan bruge det?
<script>window.open('/bummelum.php','Titel','Height=500,width=500')</script>
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:09 #2
<?
//----  Settings Start ---\\
// Image Information
$imageWidth=100;
$imageHeight=75;

// Table Layout
$rows=3;
$cols=5;

//Image path
$libery="images/"; // remember to finish with /

// Settings Stop----------//

$viewNum=$cols*$rows;
if(!$firstImage){ // so it works if you just enter default.php and show the pictures without having to define the variables in the path
                $firstImage=1;
}
function getImages($firstImage){
        global $viewNum, $imageWidth, $imageHeight,$cols,$libery;  //insures that the function gets the variables
        $handle=opendir($libery); //opens directory
        while($file=readdir($handle)){ // reads the directory
                $extension=substr($file,-4); // gets the extension of the files
                if(($extension == ".jpg") || ($extension == ".gif") || ($extension == ".png") ){ // checks for image files
                        $all[]=$file;  //adds positive results to the archive
                }
        }
        $colscounter=0; // variable that controls the tablebuilding system below
        $firstImage--; // variable that insures that the first image is being showed. Case: It looks best if the links begins with 1 but the array begins with 0
        if(isset($all)){  // if array is set build the table
                print "<table>";
                for($i=$firstImage; $i < $firstImage+$viewNum; $i++){
                        if($all[$i]){ // checks for rinning dry of imges
                                if($i==$firstImage + $colscounter*$cols){ // if true: new row
                                        $colscounter++;
                                        print "<tr>";
                                } // add the image
                                print "<td><a target='_blank' href='".$libery."".$all[$i]."'><img src='".$libery."".$all[$i]."' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a></td>";
                        }
                        else{ // stop if no more images
                                break;
                        }
                }
                print "</table><br>";
                $num=count($all);  //number of pictures in actual libery
                makeList($num); // function to make the links list
        }
        else{
                print "Der var desværre ingen billeder i dette bibliotek<br><a href='java script:history.back()'>Go Back</a>";
        }
}
function makeList($num){
        global $libery, $firstImage, $viewNum; //insures that the function gets the variables
        $numLinks = $num / $viewNum; // finds the number og links to be maked
        for($a=0; $a < $numLinks;$a++){
                        $start=$a*$viewNum+1;  //adds 1 because then the links begins with ex. number 1-10 and 11-20 instead of 0-10 and 10-20
                        $finish=$a*$viewNum+$viewNum;
                        if($finish>$num){ // insures that the final link returns the right amount of pictures instead of to much
                                $finish=$num;
                        }
                if(($firstImage >= $start) && ($firstImage < $a * $viewNum+$viewNum)){ // if true: makes no link because you already are on the page
                        print "$start - $finish</a>&nbsp;&nbsp;";
                }
                else{ // makes the link
                        print "<a target='_blank' href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a>&nbsp;&nbsp;";
                }
        }
}
?>
Avatar billede jaw Nybegynder
09. juni 2004 - 23:10 #3
ellser måske:
<a href="#" border="0" onClick="MyWindow=window.open('fil.php','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=xxx,height=xxx,')
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:12 #4
Dette åbnede godt nok i et nyt vindue, men det skal ikke bare et helt stort vindue! Det skal tilpasse sig efter billedet, eller som "jaw" skrev det i et script hvor man selv kan styre det...
Avatar billede jaw Nybegynder
09. juni 2004 - 23:14 #5
width=xxx,height=xxx,');>

ved ikke lige hvor det forsvandt hen...
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:14 #6
<script language="javascript" type="text/javascript">
    function popWin(file){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>Resize til billede<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+32);}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>

<a href="#" onclick="popWin('img/billede.jpg');return false;"><img src="img/billede.jpg" width="150" alt="Klik for fuld størrelse"></a>
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:21 #7
hvordan indsætter jeg helt præcis: <a href="#" onclick="popWin('img/billede.jpg');return false;"><img src="img/billede.jpg" width="150" alt="Klik for fuld størrelse"></a>

i min kode?
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:24 #8
<a target='_blank' href='#' onclick=\"popWin('".$libery."".$all[$i]."');return false;\"><img src='".$libery."".$all[$i]."' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a>                        }
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:25 #9
<a href='#' onclick=\"popWin('$libery."".$all[$i]');return false;\"><img src='".$libery."".$all[$i]."' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a>
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:27 #10
får denne fejl nu:


Parse error: parse error, unexpected '"' in d:\apache\htdocs\imagecreator\functions.inc on line 54
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:30 #11
<a href='#' onclick='popWin('$libery$all[$i]');return false;'><img src='$libery$all[$i]' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a>
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:31 #12
hmm, nu melder den ingen fejl, men nu sker der heller ikke noget når jeg trykker på et billede
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:32 #13
<a href='#' onclick=\"popWin('$libery$all[$i]');return false;'\"><img src='$libery$all[$i]' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a>
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:35 #14
Sker stadig ingenting...
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:36 #15
<a href='#' onclick='popWin($libery$all[$i]);return false;'><img src='$libery$all[$i]' border='0' width='$imageWidth' height='$imageHeight' alt='Click to Enlarge'></a>
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:38 #16
heller ikke... :(
Avatar billede jaw Nybegynder
09. juni 2004 - 23:40 #17
<a href='#' border='0' onClick=\"MyWindow=window.open('fil.php','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=$imageHeight,height=$imageWidth')\">Klik for at se hele billedet</a>
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:42 #18
<a href=\"#\" onclick=\"popWin('$libery$all[$i]');return false;\"><img src=\"$libery$all[$i]\" border=\"0\" width=\"$imageWidth\" height=\"$imageHeight\" alt=\"Click to Enlarge\"></a>
Avatar billede jaw Nybegynder
09. juni 2004 - 23:43 #19
hehe, du kæmper techno :)
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:45 #20
kan du ikke give et link
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:45 #21
Sådan technodance! Det virkede sq! Mega mange tak for din hjælp! Ved du evt også hvordan man sætter et script på billedet der kan lukke vinduet igen! sådan noget som "java script:parent.close()" på billedet efter det er åbnet!?

Anyway, lig gerne lige et svar så er pointene dine
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:51 #22
<script language="javascript" type="text/javascript">
    function popWin(file){
      newWin=window.open("","ResizeBillede","width=300,height=200,status=no");
      txt='<ht'+'ml><he'+'ad><ti'+'tle>Resize til billede<\57ti'+'tle><scri';
      txt+='pt language="javascript" type="text/javascript">';
      txt+='function resPic(){h=document.images[0].scrollHeight;';
      txt+='w=document.images[0].scrollWidth;window.resizeTo(w+6,h+32);}<\57scri';
      txt+='pt><\57he'+'ad><bo'+'dy style="overflow:hidden;';
      txt+='border:0px;margin:0px"><i'+'mg onclick="self.close();" src="'+file+'" style="top:0px;left:0px;border:0px;';
      txt+='" onload="resPic();"><\57bo'+'dy><\57ht'+'ml>';
      newWin.document.write(txt);
      newWin.document.close();
    }
  </script>
Avatar billede technodance.dk Nybegynder
09. juni 2004 - 23:55 #23
svar
Avatar billede nc85 Nybegynder
09. juni 2004 - 23:58 #24
tak for det...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester