Volki: window.open onclick?

Beitrag lesen

Hi,

mit folgendem Script (natürlich nur ein Teil davon):
"images/photo1.jpg", window.open("images/photo1.jpg"),

das ist kein sinnvoller JavaScript-Code. Es sieht aus wie ein Teil einer Funktionsargumentliste.

Wie kann ich jetzt hier, möglichst einfach, ein z.B. 'onclick' einfügen, damit sich ein Bild beim Anklicken öffnet?

Das kann Dir niemand sagen. Du sagst ja nicht mal, was die o.g. Funktion macht, bzw. ob meine These, dass es sich um eine Funktion handelt, überhaupt stimmt.

Könnt Ihr mir bitte helfen?

You go first. Dein Problem ist nicht nachvollziehbar, also kann Dir keiner helfen.

Cheatah

Hallochen,

vielen Dank für Eure schnellen Versuche mein Problem zu lösen.  Aber ich will mal nicht so sein und Euch ein bisschen auf die Sprünge helfen.  Hier das Script:

<body>
<body onload="Carousel()">
<script type="text/javascript">

Create a div with transparent place holder in your html
 <div id="Carousel" style="position:relative">
  <img src="placeholder.gif" width="404" height="202">
 </div>
 placeholder width:
   4 sided: 1.42 * carousel image width + 3
   6 sided: 2 * carousel image width +4
   8 sided: 2.62 * carousel image width + 5
  12 sided: 3.87 * carousel image width + 7
 placeholder height:
  carousel image height+2

Insert onload in body tag
  <body onload="Carousel()">

// 7 variables to control behavior
 var Car_Image_Width=140;
 var Car_Image_Height=225;
 var Car_Border=true;  // true or false
 var Car_Border_Color="white";
 var Car_Speed=4;
 var Car_Direction=true;  // true or false
 var Car_NoOfSides=8;  // must be 4, 6, 8 or 12

/* array to specify images and optional links.
 For 4 sided carousel specify at least 2 images
 For 6 sided carousel specify at least 3
 For 8 sided carousel specify at least 4
 For 12 sided carousel specify at least 6
 If Link is not needed keep it ""
*/
 Car_Image_Sources=new Array(
  "images/photo1.jpg","", //this slide isn't linked
  "images/photo2.jpg","", //this slide isn't linked
  "images/photo3.jpg","", //this slide isn't linked
  "images/photo4.jpg","" // NOTE No comma after last line
  );

CW_I=new Array(Car_NoOfSides/2+1);C_ClcW=new Array(Car_NoOfSides/2);
 C_Coef=new Array(
  3*Math.PI/2,0,3*Math.PI/2,11*Math.PI/6,Math.PI/6,3*Math.PI/2,7*Math.PI/4, 0,
  Math.PI/4,3*Math.PI/2,5*Math.PI/3,11*Math.PI/6,0,Math.PI/6,Math.PI/3);
 var C_CoefOf=Car_NoOfSides==4?0:Car_NoOfSides==6?2:Car_NoOfSides==8?5:9;
 C_Pre_Img=new Array(Car_Image_Sources.length);
 var C_Angle=Car_Direction?Math.PI/(Car_NoOfSides/2):0,C_CrImg=Car_NoOfSides,C_MaxW,C_TotalW,
 C_Stppd=false,i,C_LeftOffset,C_HalfNo=Car_NoOfSides/2;

function Carousel(){
  if(document.getElementById){
   for(i=0;i<Car_Image_Sources.length;i+=2){
    C_Pre_Img[i]=new Image();C_Pre_Img[i].src=Car_Image_Sources[i]}
   C_MaxW=Car_Image_Width/Math.sin(Math.PI/Car_NoOfSides)+C_HalfNo+1;
   Car_Div=document.getElementById("Carousel");
   for(i=0;i<C_HalfNo;i++){
    CW_I[i]=document.createElement("img");Car_Div.appendChild(CW_I[i]);
    CW_I[i].style.position="absolute";
    CW_I[i].style.top=0+"px";
    CW_I[i].style.height=Car_Image_Height+"px";
    if(Car_Border){
     CW_I[i].style.borderStyle="solid";
     CW_I[i].style.borderWidth=1+"px";
     CW_I[i].style.borderColor=Car_Border_Color}
    CW_I[i].src=Car_Image_Sources[2*i];
    CW_I[i].lnk=Car_Image_Sources[2*i+1];
    CW_I[i].onclick=C_LdLnk;
    CW_I[i].onmouseover=C_Stp;
    CW_I[i].onmouseout=C_Rstrt}
   CarImages()}}

function CarImages(){
  if(!C_Stppd){
   C_TotalW=0;
   for(i=0;i<C_HalfNo;i++){
    C_ClcW[i]=Math.round(Math.cos(Math.abs(C_Coef[C_CoefOf+i]+C_Angle))*Car_Image_Width);
    C_TotalW+=C_ClcW[i]}
   C_LeftOffset=(C_MaxW-C_TotalW)/2;
   for(i=0;i<C_HalfNo;i++){
    CW_I[i].style.left=C_LeftOffset+"px";
    CW_I[i].style.width=C_ClcW[i]+"px";
    C_LeftOffset+=C_ClcW[i]}
   C_Angle+=Car_Speed/720*Math.PI*(Car_Direction?-1:1);
   if((Car_Direction&&C_Angle<=0)||(!Car_Direction&&C_Angle>=Math.PI/C_HalfNo)){
    if(C_CrImg==Car_Image_Sources.length)C_CrImg=0;
    if(Car_Direction){
     CW_I[C_HalfNo]=CW_I[0];
     for(i=0;i<C_HalfNo;i++)CW_I[i]=CW_I[i+1];
     CW_I[C_HalfNo-1].src=Car_Image_Sources[C_CrImg];
     CW_I[C_HalfNo-1].lnk=Car_Image_Sources[C_CrImg+1]}
    else{ for(i=C_HalfNo;i>0;i--)CW_I[i]=CW_I[i-1];
     CW_I[0]=CW_I[C_HalfNo];
     CW_I[0].src=Car_Image_Sources[C_CrImg];
     CW_I[0].lnk=Car_Image_Sources[C_CrImg+1]}
    C_Angle=Car_Direction?Math.PI/C_HalfNo:0;C_CrImg+=2}}
  setTimeout("CarImages()",50)}

function C_LdLnk(){if(this.lnk)window.location.href=this.lnk}
 function C_Stp(){this.style.cursor=this.lnk?"pointer":"default";C_Stppd=true;}
 function C_Rstrt(){C_Stppd=false}
</script>

<div id="Carousel" style="position:relative">
   <img src="placeholder.gif" width="371" height="225">
</div>

<p><font face="Arial" size="-2">Free DHTML scripts provided by<br><a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>
</body>
</html>

Dies ist ein aus dem Internet kopiertes Script.  Wie kann ich jetzt erreichen, dass die Bilder der Bildlaufleiste bzw. dem Carousel mit einem Klick sich öffnen?

Noch ein kleiner Hinweis auch wenn Ihr's nicht glaubt:  Ich bin Anfänger!

Danke.