slider calculatie

Status
Niet open voor verdere reacties.

nosoupforyou

Gebruiker
Lid geworden
4 jul 2008
Berichten
13
Hallo allemaal,

ik was een slider aan het maken voor een website waarmee je de front grote kan veranderen.

nu werkt dit opzich prima. Alleen ik heb de omgekeerde code nodig om te bepalen op welke slider de plek moet komen.

ik heb hiervoor een beetje een dynamische code geschreven zodat het niet moet uitmaken of de breedte van de slider veranderd.

Hier is de code.

HTML:
var minTextSize = '6'

var maxTextSize = '100';

var breedteSlider = '100';

//currentDragged is het item op de slider dat je dragged voor verandering
function changeSize() {

  pixelFactor = breedteSlider / (textMaxSize - textMinSize);
		
  newFontSize = Math.round(pixelFactor * ExtractNumber(currentDragged.item.style.left));
  newFontSize += textMinSize;
	
  if(newFontSize < textMinSize) {
    newFontSize = textMinSize;
  }
  if(newFontSize > textMaxSize) {
    newFontSize = textMaxSize;
  }
	
  currentSelected.style.fontSize = newFontSize + 'px';
}


dit werkt prima, niets mis mee, als de slider helemaal naar links zit is de font precies de minsize en als die helemaal naar rechts zit de maxsize.. als goed is..

nu de omgekeerde code:

HTML:
//waar currentSelected is het geselecteerde item.. 
//hij voert de code wel gewoon goed uit...
function onSelectionChange() {
  pixelFactor = breedteSlider / (textMaxSize - textMinSize);
  multiplyBy = ExtractNumber(currentSelected.style.fontSize) - textMinSize;

  amountPixels = Math.round(pixelFactor * multiplyBy);
			
  slider.style.left = amountPixels;
}


dus hij voert het wel gewoon goed uit alleen bij onselectionchange zet ie de left gewoon verkeerd. Dus de omgekeerde berekening klopt op de een of andere manier niet..

kan iemand mij hiermee helpen?

Greets NoSoupForYou
 
opgelost

ik ben er uiteindelijk toch achter gekomen na een hoop rekenwerk ;p
antwoord lag niet bij omrekenen maar toch bij de font berekening..

var minTextSize = '6'

var maxTextSize = '100';

var breedteSlider = '100';

Code:
//currentDragged is het item op de slider dat je dragged voor verandering
function changeSize() {

  pixelFactor = breedteSlider / (textMaxSize - textMinSize);
		
  newFontSize = [U][B]Math.round(ExtractNumber(currentDragged.item.style.left) / pixelFactor);[/B][/U]
  newFontSize += textMinSize;
	
  if(newFontSize < textMinSize) {
    newFontSize = textMinSize;
  }
  if(newFontSize > textMaxSize) {
    newFontSize = textMaxSize;
  }
	
  currentSelected.style.fontSize = newFontSize + 'px';
}
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan