09. juni 2004 - 23:04Der 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> "; } else{ // makes the link print "<a href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a> "; } } } ?>
<? //---- 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> "; } else{ // makes the link print "<a target='_blank' href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a> "; } } } ?>
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...
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>
<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>
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
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.