/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Ændre script, så det virker i en tabel
Fra : OlieMoetor


Dato : 30-10-08 09:39

Hej NG

Jeg har fundet nedenstående script og vil gerne have det virker i
en tabel.

<script language="javascript">
<!--
document.onmousemove = beSmart;
window.onload = init;
startEnlarge = 250; // The distance to start enlarging the
picture at, in pixels.
enlargeTo = 200; // The number of Pixels to enlarge to.
minSize = 40; // The number of Pixels to shrink to.

centerOfPic = new Array();


// Calls the beSmart function to set each "smart" image to the
correct size.
function init(){
beSmart();
}

function beSmart(){
for(i=0;i<document.images.length;i++){

if(document.images[i].className == "smart"){
mouseX = window.event.x;
mouseY = window.event.y;
imageX = document.images[i].offsetLeft +
(document.images[i].width / 2);
imageY = document.images[i].offsetTop +
(document.images[i].height / 2);
distance = Math.ceil(Math.sqrt(Math.pow(mouseX - imageX,2)
+ Math.pow(imageY - mouseY,2)));
percent = distance / startEnlarge * enlargeTo;
percent = enlargeTo - percent
if(percent > minSize){
document.images[i].style.width = percent;
document.images[i].style.height = percent;
} else {
document.images[i].style.width = minSize;
document.images[i].style.height = minSize;
}
}

}
}
// -->
</script>

- kan man ændre document.images[i], så det afspejler en tabel i
stedet?

OlieMoetor

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Birger Sørensen (30-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 30-10-08 14:23

OlieMoetor skrev:
> Hej NG
>
> Jeg har fundet nedenstående script og vil gerne have det virker i
> en tabel.
>
> <script language="javascript">
> <!--
> document.onmousemove = beSmart;
> window.onload = init;
> startEnlarge = 250; // The distance to start enlarging the
> picture at, in pixels.
> enlargeTo = 200; // The number of Pixels to enlarge to.
> minSize = 40; // The number of Pixels to shrink to.
>
> centerOfPic = new Array();
>
>
> // Calls the beSmart function to set each "smart" image to the
> correct size.
> function init(){
> beSmart();
> }
>
> function beSmart(){
> for(i=0;i<document.images.length;i++){
>
> if(document.images[i].className == "smart"){
> mouseX = window.event.x;
> mouseY = window.event.y;
> imageX = document.images[i].offsetLeft +
> (document.images[i].width / 2);
> imageY = document.images[i].offsetTop +
> (document.images[i].height / 2);
> distance = Math.ceil(Math.sqrt(Math.pow(mouseX - imageX,2)
> + Math.pow(imageY - mouseY,2)));
> percent = distance / startEnlarge * enlargeTo;
> percent = enlargeTo - percent
> if(percent > minSize){
> document.images[i].style.width = percent;
> document.images[i].style.height = percent;
> } else {
> document.images[i].style.width = minSize;
> document.images[i].style.height = minSize;
> }
> }
>
> }
> }
> // -->
> </script>
>
> - kan man ændre document.images[i], så det afspejler en tabel i
> stedet?
>
> OlieMoetor

Ikke umiddelbart.
for det første, vil offset værdier referere til tabellen - eller måske
rækken - og du kan derfor ikke direkte bruge koordinater i eventen til
sammenligning/beregning.
For det andet retter størrelser - specielt højde - af tabeller sig
efter indholdet, så du kan ikke umiddelbert bruge i hvert fald height.
Dit script kan vist i øvrigt ikke anvendes i alle browsere (der er
forskel på hvordan event skal tilgås).

Men ellers er det vel bare at oprette et array og sætte td'erne i det,
i stedet for billederne. (Måske vil det så være smart at kalde den
noget andet og mere relevant..)
Evt. hente dem ud af document med getElementByTagName() (ikke sikker på
den hedder sådan), hvis der ikke allerede findes et array over td'er i
document. (Og begge tilfælde forudsætter ligesom med images[] at du
skal anvende alle den type elementer i dokumentet)

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (30-10-2008)
Kommentar
Fra : Birger Sørensen


Dato : 30-10-08 14:27

Birger Sørensen frembragte:
> OlieMoetor skrev:
>> Hej NG
>>
>> Jeg har fundet nedenstående script og vil gerne have det virker i
>> en tabel.
>>
>> <script language="javascript">
>> <!--
>> document.onmousemove = beSmart;
>> window.onload = init;
>> startEnlarge = 250; // The distance to start enlarging the
>> picture at, in pixels.
>> enlargeTo = 200; // The number of Pixels to enlarge to.
>> minSize = 40; // The number of Pixels to shrink to.
>>
>> centerOfPic = new Array();
>>
>>
>> // Calls the beSmart function to set each "smart" image to the
>> correct size.
>> function init(){
>> beSmart();
>> }
>>
>> function beSmart(){
>> for(i=0;i<document.images.length;i++){
>>
>> if(document.images[i].className == "smart"){
>> mouseX = window.event.x;
>> mouseY = window.event.y;
>> imageX = document.images[i].offsetLeft +
>> (document.images[i].width / 2);
>> imageY = document.images[i].offsetTop +
>> (document.images[i].height / 2);
>> distance = Math.ceil(Math.sqrt(Math.pow(mouseX - imageX,2)
>> + Math.pow(imageY - mouseY,2)));
>> percent = distance / startEnlarge * enlargeTo;
>> percent = enlargeTo - percent
>> if(percent > minSize){
>> document.images[i].style.width = percent;
>> document.images[i].style.height = percent;
>> } else {
>> document.images[i].style.width = minSize;
>> document.images[i].style.height = minSize;
>> }
>> }
>>
>> }
>> }
>> // -->
>> </script>
>>
>> - kan man ændre document.images[i], så det afspejler en tabel i
>> stedet?
>>
>> OlieMoetor
>
> Ikke umiddelbart.
> for det første, vil offset værdier referere til tabellen - eller måske rækken
> - og du kan derfor ikke direkte bruge koordinater i eventen til
> sammenligning/beregning.
> For det andet retter størrelser - specielt højde - af tabeller sig efter
> indholdet, så du kan ikke umiddelbert bruge i hvert fald height.
> Dit script kan vist i øvrigt ikke anvendes i alle browsere (der er forskel på
> hvordan event skal tilgås).
>
> Men ellers er det vel bare at oprette et array og sætte td'erne i det, i
> stedet for billederne. (Måske vil det så være smart at kalde den noget andet
> og mere relevant..)
> Evt. hente dem ud af document med getElementByTagName() (ikke sikker på den
> hedder sådan), hvis der ikke allerede findes et array over td'er i document.
> (Og begge tilfælde forudsætter ligesom med images[] at du skal anvende alle
> den type elementer i dokumentet)
>
> Birger

https://developer.mozilla.org/en/Main_Page

Ville have sendt linket med, men den smuttede.
Se under DOM og Javascript

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



OlieMoetor (30-10-2008)
Kommentar
Fra : OlieMoetor


Dato : 30-10-08 18:40

OK, tak skal du have. Så må jeg jo finde en anden løsning.

OlieMoetor

Birger Sørensen wrote in dk.edb.internet.webdesign.clientside:
> Birger Sørensen frembragte:
> > OlieMoetor skrev:
> >> Hej NG
> >>
> >> Jeg har fundet nedenstående script og vil gerne have det virker i
> >> en tabel.
> >>
> >> <script language="javascript">
> >> <!--
&gt; >> document.onmousemove = beSmart;
&gt; >> window.onload = init;
&gt; >> startEnlarge = 250; // The distance to start enlarging the
&gt; >> picture at, in pixels.
&gt; >> enlargeTo = 200; // The number of Pixels to enlarge to.
&gt; >> minSize = 40; // The number of Pixels to shrink to.
&gt; >>
&gt; >> centerOfPic = new Array();
&gt; >>
&gt; >>
&gt; >> // Calls the beSmart function to set each "smart" image to the
&gt; >> correct size.
&gt; >> function init(){
&gt; >> beSmart();
&gt; >> }
&gt; >>
&gt; >> function beSmart(){
&gt; >> for(i=0;i<document.images.length;i++){
&gt; >>
&gt; >> if(document.images[i].className == "smart"){
&gt; >> mouseX = window.event.x;
&gt; >> mouseY = window.event.y;
&gt; >> imageX = document.images[i].offsetLeft +
&gt; >> (document.images[i].width / 2);
&gt; >> imageY = document.images[i].offsetTop +
&gt; >> (document.images[i].height / 2);
&gt; >> distance = Math.ceil(Math.sqrt(Math.pow(mouseX - imageX,2)
&gt; >> + Math.pow(imageY - mouseY,2)));
&gt; >> percent = distance / startEnlarge * enlargeTo;
&gt; >> percent = enlargeTo - percent
&gt; >> if(percent > minSize){
&gt; >> document.images[i].style.width = percent;
&gt; >> document.images[i].style.height = percent;
&gt; >> } else {
&gt; >> document.images[i].style.width = minSize;
&gt; >> document.images[i].style.height = minSize;
&gt; >> }
&gt; >> }
&gt; >>
&gt; >> }
&gt; >> }
&gt; >> // -->
> >> </script>
> >>
> >> - kan man ændre document.images[i], så det afspejler en tabel i
> >> stedet?
> >>
> >> OlieMoetor
> >
> > Ikke umiddelbart.
> > for det første, vil offset værdier referere til tabellen - eller måske rækken
> > - og du kan derfor ikke direkte bruge koordinater i eventen til
> > sammenligning/beregning.
> > For det andet retter størrelser - specielt højde - af tabeller sig efter
> > indholdet, så du kan ikke umiddelbert bruge i hvert fald height.
> > Dit script kan vist i øvrigt ikke anvendes i alle browsere (der er forskel på
> > hvordan event skal tilgås).
> >
> > Men ellers er det vel bare at oprette et array og sætte td'erne i det, i
> > stedet for billederne. (Måske vil det så være smart at kalde den noget andet
> > og mere relevant..)
> > Evt. hente dem ud af document med getElementByTagName() (ikke sikker på den
> > hedder sådan), hvis der ikke allerede findes et array over td'er i document.
> > (Og begge tilfælde forudsætter ligesom med images[] at du skal anvende alle
> > den type elementer i dokumentet)
> >
> > Birger
>
> https://developer.mozilla.org/en/Main_Page
>
> Ville have sendt linket med, men den smuttede.
> Se under DOM og Javascript
>
> Birger
>
> --
> http://varmeretter.dk - billig, sund og hurtig mad
> http://bbsorensen.dk
>
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177439
Tips : 31962
Nyheder : 719565
Indlæg : 6408057
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste