Avatar billede xvid Seniormester
27. juli 2006 - 22:18 Der er 29 kommentarer og
1 løsning

fin pudse denne script

Hej

Jeg har fundet et script som lige skal finpudses for det virker fint som det er man det drejer sig om at i stedetfor at klikke vil jeg gerne få den til at skifte når man peger på det nederste

På forhånd tak

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Advanced Gallery w/Image Controls - Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">

/*Begin Gallery Styles*/

.gallerycontainer{ /*Set border and background overall dimensions here*/
height:208px;
width: 250px;
border: 1px solid black;
background-color: #DFDFFF;
padding: 3px;
overflow:hidden; /*This line must remain for Mozilla*/
}

.gallerycontent{ /*Width and height should be slightly less than container*/
color:black;
width: 230px;
height: 200px;
display: block;
margin:30px 10px;
text-indent:15px;
text-align:justify;
font-family:verdana, arial, sans-serif;
font-size:90%;
}

#controls img { /*Style for control images*/
border:none;
padding:2px;
}

/*End Gallery Styles*/

</style>

<script type="text/javascript">

/***********************************************
* Advanced Gallery script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice must stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
* Modified here by jscheuer1 in www.dynamicdrive.com/forums
* Switched to image controls. Changed Markup to be more xbrowser
***********************************************/

var tickspeed=5000 //ticker speed in miliseconds (2000=2 seconds)
var displaymode="manual" //initial displaymode ("auto" or "manual")

///////////////No need to Edit below Here/////////////////

if (document.getElementById){
document.write('<style type="text/css">\n')
document.write('.gallerycontent{display:none;}\n')
document.write('</style>\n')
}

var selectedDiv=0

function getElementbyClass(classname){
partscollect=new Array()
var inc=0
var alltags=document.all? document.all.tags("DIV") : document.getElementsByTagName("*")
for (i=0; i<alltags.length; i++){
if (alltags[i].className==classname)
partscollect[inc++]=alltags[i]
}
}

function contractall(){
var inc=0
while (partscollect[inc]){
partscollect[inc].style.display="none"
inc++
}
}

function expandone(num, themode){
if (themode=='m')
preparemode('manual')
else
preparemode('auto')
selectedDiv=num
selectedDiv=selectedDiv<0? selectedDiv+partscollect.length : selectedDiv>partscollect.length-1? 0 : selectedDiv
var selectedDivObj=partscollect[selectedDiv]
contractall()
selectedDivObj.style.display="block"
if (displaymode=="auto")
autocontrolvar=setTimeout("expandone("+[num+1]+", 'a')",tickspeed)
}


function preparemode(themode){
displaymode=themode
if (typeof autocontrolvar!="undefined")
clearTimeout(autocontrolvar)
}

function startgallery(){
getElementbyClass("gallerycontent")
if (displaymode=='auto')
expandone(0, 'a')
else
expandone(0, 'm')
}

if (window.addEventListener)
window.addEventListener("load", startgallery, false)
else if (window.attachEvent)
window.attachEvent("onload", startgallery)
else if (document.getElementById)
window.onload=startgallery

</script>
</head>
<body>
<div class="gallerycontainer">
<div class="gallerycontent" subject="What is JavaScript?">
JavaScript is a scripting language originally developed by Netscape to add interactivity and power to web documents. It is purely client side, and runs completely on the client's browser and computer.
</div>

<div class="gallerycontent" subject="Java & JavaScript Differences">
Java is completely different from JavaScript - it's more powerful, more complex, and unfortunately, a lot harder to master. It belongs in the same league as C, C++, and other more complex languages.
</div>

<div class="gallerycontent" subject="What is DHTML?">
DHTML is the embodiment of a combination of technologies - JavaScript, CSS, and HTML. Through them a new level of interactivity is possible for the end user experience.
</div>
</div><br>

<!-- HTML for gallery control images -->
<div id="controls">
<a href="java script:expandone(0, 'm');"><img src="thumb2/thumb1.jpg"></a>
<a href="java script:expandone(1, 'm');"><img src="thumb2/thumb2.jpg"></a>
<a href="java script:expandone(2, 'm');"><img src="thumb2/thumb3.jpg"></a>
</div>
<!-- End HTML gallery control images -->
</body>
</html>
Avatar billede xvid Seniormester
27. juli 2006 - 22:22 #1
vil lige sige at det skal bruges til billeder :-)
Avatar billede mclemens Nybegynder
27. juli 2006 - 22:23 #2
<b onmouseover="expandone(0, 'm');"><img src="thumb2/thumb1.jpg"></b>
<b onmouseover="expandone(1, 'm');"><img src="thumb2/thumb2.jpg"></b>
<b onmouseover="expandone(2, 'm');"><img src="thumb2/thumb3.jpg"></b>
Avatar billede mclemens Nybegynder
27. juli 2006 - 22:23 #3
istedet for a href'erne ... godt nok ?
Avatar billede mclemens Nybegynder
27. juli 2006 - 22:25 #4
Eller rettere alle elementer (div, span, img o.s.v.) kan jo bruges det er bare det at bruge onmouseover="expandone(0, 'm');" i tagget istedet for java script: ... som der bruges i linket ...
Avatar billede xvid Seniormester
27. juli 2006 - 22:32 #5
og hvis det er muligt også tilføje en af denne den første synes jeg bedre om :-) http://www.dynamicdrive.com/dynamicindex4/highlightgrad.htm    http://www.dynamicdrive.com/dynamicindex4/image5.htm
Avatar billede xvid Seniormester
27. juli 2006 - 22:36 #6
mclemens hvis du har et bedre eksempel vil jeg meget gerne se den ;-)
Avatar billede xvid Seniormester
27. juli 2006 - 22:38 #7
jeg går i seng nu man kigger imorgen og giver points så smid et svar senere :-)
Avatar billede xvid Seniormester
27. juli 2006 - 22:40 #8
i stil med denne http://www.ivansiden.dk/galleri.html bare med centreet popup tænkte jeg præcis på :-)
Avatar billede mclemens Nybegynder
27. juli 2006 - 23:13 #9
Helt ok, har ikke noget "på lager", men kigger på lidt ...
- ved ikke om det bliver "ok" eller "lækkert" ...
Det finder vi ud af imorgen, sov godt ...
(det kan jo altid rettes lidt til) ...
Avatar billede mclemens Nybegynder
27. juli 2006 - 23:16 #10
Lægger lige svaret for 27/07-2006 22:23:05 med det samme (men vent lige til imorgen
når den anden er færdig med at acceptere ... den anden skulle jo helst virke først ... )
Avatar billede mclemens Nybegynder
28. juli 2006 - 02:29 #11
Blev ikke færdig, den mangler stadig noget arbejde...
dokumentationen er dårlig p.t. det blev skrevet hurtig ... og mangler gennemgang og kontrol på indhold da jeg ikke har fået det hele implementeret og en del af dem var hurtigt skrevne noter til mig selv ... opacity functionen mangler lidt finpudsning og automatisk opacity på img placeret i div'en med id="tgpics" mangler også...

Har brugt lidt herfra:
http://www.eksperten.dk/spm/702643 // fade funktion
http://www.eksperten.dk/spm/696376 // popup billede funktion
http://www.eksperten.dk/spm/715114 // object håndtering (mangler krydning til fade og under element håndtering ... )
... og så lidt general js kodning ...




jeg har følgende filer:
hovedmappen:
b1.jpg
b2.jpg
b3.jpg
b4.jpg
b5.jpg
minib1.jpg
minib2.jpg
minib3.jpg
minib4.jpg
minib5.jpg
- /big/
- - b1.jpg
- - b2.jpg
- - b3.jpg
- - b4.jpg
- - b5.jpg








<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

#tgdiv{
  width:400px;
  height:300px;
  position:relative;
  border:1px solid #000;
}

#tgpic{
  position:absolute;
  top:50%;left:50%;
  margin:-109px 0px 0px -145px;
}

</style>

<script type="text/javascript">



  tgpreload=["b2.jpg","b3.jpg","b4.jpg","b5.jpg"];
    // Skal være tom ( tgpreload=[]; )- hvis der ikke skal preloades store billeder... det anbefales dog med preload...
    // Eksempel på preload: tgpreload=["filnavn1.jpg","filnavn2.jpg"]; ... stier kan også defineres...

  tgpicstdmap="./";
    //Standard sti til billede mappe (det er trals at skrive stien hver gang i tgpreload)

  tgpicbig="./big/";
    //Standard link sti til store billeder

  tgpicpos=true;
    /* true -> absolute midt vertical og horisontal placering (husk position:absolute;top:50%;left:50%; i #tgpic css)
      - (og husk position:relative; i #tgdiv css - så elementet placerer sig relativt til det andet element)
      - samt margin:-5px 0px 0px -10px; hvor -5 er halvdelen af start billedets højde og -10 er halvdelen af bredden */
    /* false -> placering med manuel css uden absolute - deaktiverer egenlig bare det dynamiske placerings halløjsa */

  tgpicthumblnk="mini";
  tgpicthumblink=true;

/* Forklaringen hertil skal nok blive gennemhøvlet og revideret senere ... det er sent */

    /* Sætter automatisk onmouseover="tgpicswch(nr til preload eller hvis preload er deaktiveret sti til stort billede)
      F.eks: Her <img src="minib1.jpg"> sættes onmouseover="tgpicswch(1); ellers hvis nu at tgpreload var tgpreload=[];
      ville den vælge billedet: tgpicstdmap (den evt. sti til billedet) sammen med 1.jpg samt en a href til det store        billede svarende til stien tgpicbig og 1.jpg...
      - hvis der nu er en onmouseover sat i forvejen sættes der ikke en ny onmouseover ...
      - navnet angivet i tgpicthumblnk fjernes når stort billede skal findes ...
      - mini billeder skal placeres i <div id="tgpics"> ...
      ... tgpicthumblink skal sættes til false; hvis funktion ikke skal bruges ...

  /* Lidt om manuel onmouseover i scriptet...
      <img src="minib1.jpg" onmouseover="tgpicswch(0);"> ... vælger det første billede nævnt i tgpreload=["...","zyx","xyz"]; sammen med stien angivet i tgpicstdmap ... altså i dette tilfælde: b2.jpg ... hvis nu at tgpreload er sat til tgpreload=[]; så vælges billedet 0 sammen med stien i tgpicstdmap og link til det store billede som tgpicbig samt 0 ... så derfor skal den anden onmouseover se sådan her ud når preload er deaktiveret: <img src="minib1.jpg" onmouseover="tgpicswch('b2.jpg');"> ...

  - ved definering af <img src="minib1.jpg" onmouseover="tgpicswch('b2.jpg',-1);"> fjernes link på det lille billede til et stort billede ... ved definering af <img src="minib1.jpg" onmouseover="tgpicswch('b2.jpg','./fseui/b3.jpg);"> bliver sidst nævnte brugt til at lave linket til det store billede...

  - hvis man sætter tgpicthumblink=true; uden at placere billederne i et element med id tgpics kan man også bruge denne her:
  <img src="minib1.jpg" onmouseover="tgpicswch(this.src);"> ... men det sparer dog ikke meget markup - det vil så give:
  stien i tgpicstdmap samt minib1.jpg - fratrukket tekst strengen angivet i tgpicthumblnk... samt et link til det store    billede med stien tgpicbig og minib1.jpg - fratrukket tekst strengen angivet i tgpicthumblnk */


var tgpic; // holder til billede forbindelse
tgfader={o:100,w:0}; // object til at holde styr på opacity, som element kald til skift og op vej...
// bemærk opacity mangler lige finpudsning og grænsning ...

/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicpos0(){ // bruges ved tgpicpos=true;
  tgpic.style.marginLeft=tgpic.offsetWidth/2*-1+"px";
  tgpic.style.marginTop=tgpic.offsetHeight/2*-1+"px";
}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgprelos(){ // sletbar function hvis man ikke bruger preload ... altså der står altid tgpreload=[];
  tgprelosd=document.createElement("div"); // Div til preload
  tgprelosd.style.display="none";document.body.appendChild(tgprelosd);

  for(i=0;i<tgpreload.length;i++){ // Gennemløb af billeder med oprettelse af img og append af billeder til skjult div
    tgpreimgs=document.createElement("img");
    tgpreimgs.src=tgpicstdmap+tgpreload[i];
    tgprelosd.appendChild(tgpreimgs);
  }

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicthumbl(){ // bruges ved auto onmouseover tildeling

  if(tn=document.getElementById("tgpics")){ // check om element eksisterer, hvis ja så hent billeder i element og fortsæt
    tnpics=tn.getElementsByTagName("img");

    for(i=0;i<tnpics.length;i++){ // Tildeling af onmouseover
      tnpics[i].onmouseover=function(){tgfade(this.src,0,0);};
    }
      // tildel opkald til billedeskift og a href skifte

  }

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicswch(tmpimg,tmplink){ // funktion til skift af elementer og onclick skifte
  tmpimg=tmpimg.split("/");tmpimg=tmpimg[tmpimg.length-1].replace(tgpicthumblnk,"");
  tgpic.src=tgpicstdmap+tmpimg;
  if(tmplink!=-1){
    if(tmplink==undefined)tmplink=tmpimg;
    tgpic.onclick=function(){tgpopit(tmplink);};
  }
}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpopit(tgpict){ // function til popup billede og centrering m.v.

tgpict=tgpicbig+tgpict;

popins=window.open("","popins","width=300,height=200,status=no,toolbar=no,location=no,directories=no,resizable=no,menubar=no");

popins.document.write('<html><head><title>Din titel</title><script type="text/javascript" language="javascript">function resizepopit(){pich=document.getElementById("pictpopit").offsetHeight+32;picw=document.getElementById("pictpopit").offsetWidth+6;if(pich>screen.availHeight)pich=screen.availHeight;if(picw>screen.availWidth)picw=screen.availWidth;window.resizeTo(picw,pich);window.moveTo((screen.availWidth-picw)/2,(screen.availHeight-pich)/2)}<\/script><style type="text/css">html,body{margin:0px;padding:0px;border:0px;}</style></head><body><img id="pictpopit" src="'+tgpict+'" onLoad="resizepopit();" onclick="window.close();"></body></html>');

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgfade(p,tmplink,m){ // function til fade op og ned af nyt billede og under billeder

  if(m==0)i=tgpic;

  tgfader.o=(tgfader.w==0)?tgfader.o-10:tgfader.o+10;
  if(((tgfader.o>0)&&(tgfader.w==0))||((tgfader.o<100)&&(tgfader.w==1))){
    if(i.filters)i.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+tgfader.o+")";
    i.style.MozOpacity = tgfader.o/100;
    i.style.KhtmlOpacity = tgfader.o/100;
    i.style.opacity = tgfader.o/100;
    setTimeout("tgfade('"+p+"','"+tmplink+"','"+m+"');", 100);
  }else if(p!=""){
    tgpicswch(p,tmplink);
  }else tgfader.w=0;


}



/* ----------------------------------------------------------------------------------------------------------------------- */



window.onload=function(){
tgpic=document.getElementById("tgpic");
if(tgpicpos)tgpic.onload=function(){tgpicpos0();tgfader.w=1;tgfade("",0,0);};
if(tgpreload.length>0)tgprelos();
if(tgpicthumblink)tgpicthumbl();
}



</script>

</head><body>
<div id="tgdiv"><img src="b1.jpg" id="tgpic" onclick="tgbigpicl(this.src);"></div>
<div id="tgpics"><img src="minib1.jpg"><img src="minib2.jpg"><img src="minib3.jpg"><img src="minib4.jpg"><img src="minib5.jpg"></div>
</body></html>
Avatar billede mclemens Nybegynder
28. juli 2006 - 02:30 #12
... (sovetid) ...
Avatar billede xvid Seniormester
28. juli 2006 - 14:34 #13
Hey mclemens

det er rigtig godt arbejde :-) man det med popup synes jeg faktisk ikke så meget om hvordan sletter man det ?
Avatar billede xvid Seniormester
28. juli 2006 - 14:46 #14
det er bare en tanke man kunne man ikke gøre at billede bliver lidt større når man klikker på det uden popup

vhis det ikke er for meget vil jeg meget gerne se begge eksempler :-)
Avatar billede mclemens Nybegynder
28. juli 2006 - 19:25 #15
Nu skulle begge dele være med i scriptet dog er der ikke flydende opacity på billeder i under div'en ... jeg må indrømme at det blev lidt tungere end jeg regnede med det ville være ... og har siddet og rodet lidt i det rod jeg lavede igår ... det burde være lidt bedre stillet op informations mæssigt ... (beklager igen at jeg undervurderede det ... og gik lidt for optimistisk igang - som du kan se kører fade funktionen ikke helt optimalt ved hurtig mouseover skifte...)

... jeg har gjort så man kan deaktivere popup en og bare udvide billedet istedet eller så man kan deaktivere onclick helt (forkortelse og fjernelse af kommentarer og script dele kan gøres når / hvis det virker godt nok ... jeg har nu filerne læggende som her:


hovedmappen:
minib1.jpg (hos mig 100x80 px billeder)
minib2.jpg
minib3.jpg
minib4.jpg
minib5.jpg
- /mellem/
- - b1.jpg (hos mig 350x300 px billeder)
- - b2.jpg
- - b3.jpg
- - b4.jpg
- - b5.jpg
- /big/
- - b1.jpg (hos mig 750x560 px billeder)
- - b2.jpg
- - b3.jpg
- - b4.jpg
- - b5.jpg




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>



<style type="text/css">

#tgdiv{
  width:750px;
  height:560px;
  position:relative;
  border:1px solid #000;
}

#tgpic{
  position:absolute;
  top:50%;left:50%;
  margin:-109px 0px 0px -145px;
}

</style>

<script type="text/javascript">



  var tgpic; // Holder til forbindelse til elementet med id="tgpic"



  var tgfadecur; // Holder til at checke på hvad billede der skiftes til


  var tgpicpos=true;
    /* Ved instilling til:
      true:
        - Billeder der skiftes til centreres via. position absolute og margin beregning i midten verticalt og horisontalt.
          (husk position:absolute;top:50%;left:50%; i #tgpic css samt position:relative; i #tgdiv css )
          ... af hensyn til det første billede der vises skal man dog lige manuelt centrere med margin indstilling i #tgpic
          (med f.eks. margin:-5px 0px 0px -10px; hvor -5 er ½ af start billedets højde og -10 er ½ af bredden)
      false:
        - Billedet placeres manuelt uden brug af auto centrering d.v.s. dynamiske placerings halløjsa deaktiveres */



  var tgfader={o:100,w:0}; // object til at holde styr på opacity værdi og om opacity skal op eller ned



  var tgpreload=["b2.jpg","b3.jpg","b4.jpg","b5.jpg"];
    /* Skal være tom ( tgpreload=[]; ) - hvis der ikke skal preloades mellemstørrelse billeder... det anbefales
      dog med preload... Eksempel på preload: tgpreload=["filnavn1.jpg","filnavn2.jpg"]; ... stier kan også defineres... */



  tgpicstdmap="./mellem/"; // Sti til de mellemstore billeders mappe (det er trals at skrive stien hver gang i tgpreload)



  tgpicbig="./big/"; // Sti til de store billeders mappe



  tgpicthumblnk="mini"; // Det der skal fjernes fra thumbnail billeder for at få navnet på det mellem og store billeder
  tgpicthumblink=true; // Opretter automatisk onmouseover on fade på billeder placeret i elementet med id="tgpics"
    /* I tilfælde af en sådan billede fil her: <img src="minib1.jpg"> sættes onmouseover så automatisk til         
        - onmouseover="tgpicswch('b1.jpg');" den vælger så billedet tgpicstdmap samt b1.jpg til mellembilledet
          og a href til det store billede som tgpicbig samt b1.jpg.
        - onmouseover tildeles ikke, hvis en onmouseover er sat manuelt i forvejen (ingen overskrivning).
      En indstilling af tgpicthumblink=false; deaktiverer automatisk fading af thumbnails og onmouseover tildeling */

    /* En manuel tildeling af onmouse over kan laves sådan her:
          - Ved definering af <img src="minib1.jpg" onmouseover="tgpicswch('b2.jpg',-1);">
            oprettes der ikke et link til et stort billede fra det mellem store billede

          - Ved defineringen <img src="minib1.jpg" onmouseover="tgpicswch('b2.jpg','./fseui/b3.jpg);"> bliver sidst            nævnte brugt til at lave linket til det store billede og det første bruges til at lave det mellemstore billede...

          - Ved definering af tgpicthumblink=true; uden at placere billederne i et element med id tgpics kan man også
            bruge denne her: <img src="minib1.jpg" onmouseover="tgpicswch(this.src);"> ... men det sparer dog ikke meget
            markup - det vil så give: stien i tgpicstdmap samt minib1.jpg - fratrukket tekst strengen angivet i
            tgpicthumblnk... samt et link til det store billede med stien tgpicbig og minib1.jpg - fratrukket tekst
            strengen angivet i tgpicthumblnk

          - Ved definering af <img src="minib1.jpg" onmouseover="tgpicswch('minib75.jpg);"> bruges minib75.jpg til valg
            af det mellem og store billede som bruges på samme måde som nævnt i ovenstående */



  tgbigpicsok=false; // Valg om speciel popupfunktion skal bruges til at vise billeder med (true / false)
  tgbigpicsexp=true; // Hvis ovenstående er falsk kan man nøjes med at skifte mellem billedet til et større ved klik
    // ^ (true/false) ... hvis begge er false vises kun mellem størrelse billeder ...








  window.onload=function(){

    tgpic=document.getElementById("tgpic"); // Tildeling af global forbindelse

    tgpic.onload=function(){
      if(tgpicpos)tgpicpos0(); // Auto centrering - hvis aktiveret

    };

    if(tgpreload.length>0)tgprelos();
    if(tgpicthumblink)tgpicthumbl();

  }



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicpos0(){ // bruges ved tgpicpos=true;
  tgpic.style.marginLeft=tgpic.offsetWidth/2*-1+"px";
  tgpic.style.marginTop=tgpic.offsetHeight/2*-1+"px";
}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgprelos(){ // preload funktion
  tgprelosd=document.createElement("div"); // Div til preload
  tgprelosd.style.display="none";document.body.appendChild(tgprelosd);

  for(i=0;i<tgpreload.length;i++){ // Gennemløb af billeder med oprettelse af img og append af billeder til skjult div
    tgpreimgs=document.createElement("img");
    tgpreimgs.src=tgpicstdmap+tgpreload[i];
    tgprelosd.appendChild(tgpreimgs);
  }

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicthumbl(){ // bruges ved auto onmouseover tildeling

  if(tn=document.getElementById("tgpics")){ // check om element eksisterer, hvis ja så hent billeder i element og fortsæt
    tnpics=tn.getElementsByTagName("img");

    for(i=0;i<tnpics.length;i++){ // Tildeling af onmouseover
      tnpics[i].onmouseover=function(){tgfadecur=this.src;tgfade(this.src,this.src,0);    if(this.filters)this.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    this.style.MozOpacity = "1.00";
    this.style.KhtmlOpacity = "1.00";
    this.style.opacity = "1.00";};
tnpics[i].onmouseout=function(){if(this.filters)this.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    this.style.MozOpacity = "0.50";
    this.style.KhtmlOpacity = "0.50";
    this.style.opacity = "0.50";};
if(tnpics[i].filters)tnpics[i].style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    tnpics[i].style.MozOpacity = "0.50";
    tnpics[i].style.KhtmlOpacity = "0.50";
    tnpics[i].style.opacity = "0.50";
    }
      // tildel opkald til billedeskift og a href skifte

  }

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpicswch(tmpimg,tmplink){ // funktion til skift af elementer og onclick popup


  tmpimg=tmpimg.split("/");tmpimg=tmpimg[tmpimg.length-1].replace(tgpicthumblnk,"");
  tgpic.src=tgpicstdmap+tmpimg;
  if(tmplink!=-1){

    if(tmplink==undefined)tmplink=tmpimg;
    else tmplink=tmplink.split("/");tmplink=tmplink[tmplink.length-1].replace(tgpicthumblnk,"");
    if(tgbigpicsok){tgpic.onclick=function(){tgpopit(tmplink);};tgpic.style.cursor="pointer";}
    else if(tgbigpicsexp){tgpic.onclick=function(){tgchngit(tmplink);};tgpic.style.cursor="pointer";}
    else{tgpic.onclick=function(){};tgpic.style.cursor="";}

  }else tgpic.onclick=function(){};
tgfader.w=1;  tgfadecur=tmpimg;
    tgfade(tmpimg,0,0);

}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgpopit(tgpict){ // function til popup billede og centrering m.v.

tgpict=tgpicbig+tgpict;

popins=window.open("","popins","width=300,height=200,status=no,toolbar=no,location=no,directories=no,resizable=no,menubar=no");

popins.document.write('<html><head><title>Din titel</title><script type="text/javascript" language="javascript">function resizepopit(){pich=document.getElementById("pictpopit").offsetHeight+32;picw=document.getElementById("pictpopit").offsetWidth+6;if(pich>screen.availHeight)pich=screen.availHeight;if(picw>screen.availWidth)picw=screen.availWidth;window.resizeTo(picw,pich);window.moveTo((screen.availWidth-picw)/2,(screen.availHeight-pich)/2)}<\/script><style type="text/css">html,body{margin:0px;padding:0px;border:0px;}</style></head><body><img id="pictpopit" src="'+tgpict+'" onLoad="resizepopit();" onclick="window.close();"></body></html>');

}



function tgchngit(tgpict){ // function til skift af det store billede
tgpict=tgpicbig+tgpict;
tgpic.src=tgpict;
}



/* ----------------------------------------------------------------------------------------------------------------------- */



function tgfade(p,tmplink,m){ // function til fade op og ned af nyt billede og under billeder
if(tgfadecur==p){

  if(m==0)i=tgpic;

  tgfader.o=(tgfader.w==0)?tgfader.o-10:tgfader.o+10;
  if(((tgfader.o>0)&&(tgfader.w==0))||((tgfader.o<100)&&(tgfader.w==1))){
    if(i.filters)i.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+tgfader.o+")";
    i.style.MozOpacity = tgfader.o/100;
    i.style.KhtmlOpacity = tgfader.o/100;
    i.style.opacity = tgfader.o/100;
    setTimeout("tgfade('"+p+"','"+tmplink+"','"+m+"');", 100);
  }else if((p!="")&&(tmplink!=0)){
    tgpicswch(p,tmplink);
  }else tgfader.w=0;

}
}



/* ----------------------------------------------------------------------------------------------------------------------- */







</script>

</head><body>

<div id="tgdiv"><img src="./mellem/b1.jpg" id="tgpic" onclick="tgpopit(this.src);"></div>

<div id="tgpics"><img src="minib1.jpg"><img src="minib2.jpg"><img src="minib3.jpg"><img src="minib4.jpg"><img src="minib5.jpg"></div>

</body></html>
Avatar billede xvid Seniormester
28. juli 2006 - 21:17 #16
hey igen har du tilfældigt et online eksempel for jeg kan ikke finde ud af det
Avatar billede mclemens Nybegynder
28. juli 2006 - 21:21 #17
loader lige et op ...
Avatar billede xvid Seniormester
28. juli 2006 - 21:23 #18
tak ;-) for damn du er dygtig
Avatar billede mclemens Nybegynder
28. juli 2006 - 21:31 #19
www  .dkif.com/users/clemens/tmp/test.html
www  .dkif.com/users/clemens/tmp/test2.html
- fjern mellemrum ...

[ tak ;-) for damn du er dygtig ]
- Takker, det hjælper altid lidt når man synes at man jokker lidt i spinaten når man siger at det ikke er et problem at lave det :/ ... hvis du scroller hurtigt rundt over dem så burde du opleve at den fryser ... der mangler lidt mere kontrol ala det jeg lagde i http://www.eksperten.dk/spm/715114 ... jeg tror jeg fik lidt for mange funktioner kombineret samtidig uden at den ene var klar til at blive kombineret med den anden (opacity funktionen skulle nok have være iorden før jeg kørte derudaf :/ )
Avatar billede xvid Seniormester
28. juli 2006 - 21:59 #20
Avatar billede xvid Seniormester
28. juli 2006 - 22:14 #21
man ellers så er det fint det du lavede ;-)
Avatar billede mclemens Nybegynder
28. juli 2006 - 22:32 #22
http://members.lycos.co.uk/webshop3/123/js/standard.js

^ - Derinde har du en:
...
  else if( window.onload ){
    if( window.onload != ReadOnload ){
      olArray[0] = window.onload;
      window.onload = ReadOnload;
    }
    olArray[olArray.length] = f;
  }
  else
    window.onload=f;
}
function ReadOnload(){
  for( var i=0; i < olArray.length; i++ ){
    alert( olArray[i] );
    olArray[i]();
  }
}
...



... prøv derfor at rette den til:



...
  else if( window.onload ){
    if( window.onload != ReadOnload ){
      olArray[0] = window.onload;
      window.onload = ReadOnload;
    }
    olArray[olArray.length] = f;
  }
  else
    window.onload=f;
}
function ReadOnload(){
tggalinit(); // <- denne her er tilføjet
  for( var i=0; i < olArray.length; i++ ){
    alert( olArray[i] );
    olArray[i]();
  }
}
...



og så i scriptet at rette:


window.onload=function(){

    tgpic=document.getElementById("tgpic"); // Tildeling af global forbindelse

    tgpic.onload=function(){
      if(tgpicpos)tgpicpos0(); // Auto centrering - hvis aktiveret

    };

    if(tgpreload.length>0)tgprelos();
    if(tgpicthumblink)tgpicthumbl();

  }


til:


function tggalinit(){ // <- window.onload=function(){ rettet ...

    tgpic=document.getElementById("tgpic"); // Tildeling af global forbindelse

    tgpic.onload=function(){
      if(tgpicpos)tgpicpos0(); // Auto centrering - hvis aktiveret

    };

    if(tgpreload.length>0)tgprelos();
    if(tgpicthumblink)tgpicthumbl();

  }




... to gange onload's synes jeg at mindes kan blokere for hinanden ...
- hvis det ikke hjælper kan det i værste tilfælde være grundet at du har flere html og body elementer på kryds og tværs (der må ikke være flere head, body, html, doctype elementer ... http://validator.w3.org/check?uri=http%3A%2F%2Fmembers.lycos.co.uk%2Fwebshop3%2F123%2F%3Fp%3Dp_22 )som muligvis kan forvirre browseren lidt... - men prøv ovenstående rettelse ...
Avatar billede mclemens Nybegynder
28. juli 2006 - 22:34 #23
Tak for point forresten :o)
Avatar billede xvid Seniormester
28. juli 2006 - 22:56 #24
Avatar billede mclemens Nybegynder
28. juli 2006 - 23:05 #25
[ hvor læser du denne hen?  ] Inde ved w3.org under deres validator. Det er en url man kan bruge til hurtigt at validere en bestemt html side ... i dette tilfælde er der muligvis noget der driller markup'en ... det kunne f.eks. være multinestede html blokke, body eller head blokke ... (eller måske et problem med at den window.onload lige skal tilrettes som nævnt i 22:32:31 ... men jeg hælder måske til at browserne bliver forvirret af markup'en)

... nu er de multinestede html, body og head elementer dog væk igen :o)
- men det der virker pudsigt er at da jeg kiggede inde på siden kunne jeg ikke se thumbnail billederne ... :/
Avatar billede xvid Seniormester
28. juli 2006 - 23:29 #26
jeg vil endnu en gang sige mange tak for din hjælp og den tid du har brugt ;-)
Avatar billede mclemens Nybegynder
28. juli 2006 - 23:32 #27
Velbekom :) ... kan selv bruge den også
Fik du den til at virke? - eller opgav du den ?
Avatar billede xvid Seniormester
28. juli 2006 - 23:55 #28
jeg kan da helt sikkert bruge den :-)
der skal ikke være nogen tvivl at det du har lavet er rigtig godt man jeg tro at jeg holder for nu, det er nu ingen undskyldning man kl er mange og jeg skal på job imorgen ;-)

1.der er dog en lille ting jeg ikke helt forstå de billeder man lægger ind tages de fra en mappe eller skal man tilføje dem manuelt ?
2.små og stor billeder er de hvert for sig i så fald hvor er de lige at de skal tilføjes hen ?
3.ang. test2 når man klikker på biledet så kommer et stort frem hvordan gør man det mindre?

ved godt at det måske er dummies spørgsmål man hvis man ikke spørger så får man ingen ting at vide ;-)
Avatar billede mclemens Nybegynder
29. juli 2006 - 00:16 #29
[ 1.der er dog en lille ting jeg ikke helt forstå de billeder man lægger ind tages de fra en mappe eller skal man tilføje dem manuelt ? ]

- Hvis de skal preloades skal de tilføjes manuelt i dette array:
var tgpreload=["b2.jpg","b3.jpg","b4.jpg","b5.jpg"];

- ellers så hvis man skal bruge f.eks. mellem billedet til

<img src="minib1.jpg"> finder den mellem billedet under
  tgpicstdmap="./mellem/"; // Sti til de mellemstore billeders mappe (det er trals at skrive stien hver gang i tgpreload)

og tgpicbig="./big/"; // Sti til de store billeders mappe

  tgpicthumblnk="mini"; // Det der skal fjernes fra thumbnail billeder for at få navnet på det mellem og store billeder

og det vil i dette tilfælde sige at billederne skal være placeret sådan her:

./minib1.jpg
./mellem/b1.jpg
./big/b1.jpg

... stier kan selvfølgelig varieres afhængig af behovet...

[2.små og stor billeder er de hvert for sig i så fald hvor er de lige at de skal tilføjes hen ? ]

- de små billeder kan også placeres i en undermappe ved at definere en anden src kilde ...

[ 3.ang. test2 når man klikker på biledet så kommer et stort frem hvordan gør man det mindre? ] - Den del har jeg ikke lavet, den må kaldes for en smutter...

[ ved godt at det måske er dummies spørgsmål man hvis man ikke spørger så får man ingen ting at vide ;-) ] - ikke spor dumme spørgsmål ... den er lidt indviklet / halvfærdig - og jeg er ikke ligefrem den bedste manual producent :D
Avatar billede mclemens Nybegynder
29. juli 2006 - 00:28 #30
[ den må kaldes for en smutter... ] ... sådan, så bør den være der også ...
(regner med at det var test.html og ikke test2.html du tænkte på... - test2.html er det blot at lave billedet mindre ... det er den med en popup)
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