• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

javascript variable per klick ändern

Status
Für weitere Antworten geschlossen.

mustang

Mitglied
hallo leute,

ich habe ein javascript, in dem die anzeige eines bildes gesteuert wird. dort ist ein zoomfaktor drin, den ich derzeit konstant habe. ich würde aber gerne dem nutzer die möglichkeit geben diesen faktor zu verändern.
das heißt die variable im javascript muss per klick geändert werden.
außerdem brauche ich den faktor auch noch einmal im html, da dort die größe des bildes ist. am liebsten würde ich diese größe auch per javasript ändern, da ich keinen reload der seite brauchen kann.

also wie bekomme ich eine variable per klick geändert, die ich in einem script verwenden kann?! und wie kann ich die variable dann noch auf das bild anwenden?

meine beiden scripte sehen so aus:
js:
Code:
    document.getElementById('zoombild').style.left = -[COLOR=Red]7*[/COLOR](m.left - p.left)+100+"px";
    document.getElementById('zoombild').style.top = -[COLOR=Red]7*[/COLOR](m.top - p.top)+100+"px";
und html:
Code:
<img src="../bilder/....jpg" height="[COLOR=Red]7*[/COLOR]400" width="[COLOR=Red]7*[/COLOR]600" alt="tafel" border="0" />
die roten zahlen habe ich jetzt nur als "demonstration" eingefügt. aber dort sollte die variable dann rein. möchte mir zwei buttons erstellen, die den faktor entweder um 1 erhöhen, oder verringern
 
Zuletzt bearbeitet:
du machst folgendes.
zuerst einmal definierst du für deine zoom geschichte eine Funktion, der du den Zoomfaktor mitgibst (von außen)
Code:
var zoomFactor = 1;

function zooming() {
    document.getElementById('zoombild').style.left = zoomFactor*(m.left - p.left)+100+"px";
    document.getElementById('zoombild').style.top = zoomFactor*(m.top - p.top)+100+"px"; 
}

Dann machst du 2 Funktionen noch für zoomIn und zoomOut, die durch das Button drücken ausgelöst werden. Außerdem definierst du noch außerhalb der Funktion eine Variable die du zoomFactor nennst deren wert standardmäßig auf 1 ist.
Nun musst du bei einer Sache aufpassen. Sollte der Faktor auf 0 runtergehen bzw wenn er im Minus Bereich war auf 0 steigen, dann ist das Bild 100 x 100px groß.
Heisst das musts du abfangen. hier der Beispielcode zu zoomOut
Code:
var zoomFactor = 1;

function zoomOut() {
  if(zoomFactor == 1) {
     zoomFactor += 2;
  } else {
    zoomFactor++;
  }
  
  zooming(zoomFactor);
}

Hoffe das hilft dir
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben