• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mootools Auto Konfigurator

x4all

New member
Hi zusammen, bissel umfangreiches und grosses Thema. Kurz die Situation. Ziel ist ein Auto Konfigurator, wo man Modell, Farbe und Felgen wechseln kann. Im Prinzip werden mit JS und Mootools nur Bilder in einem Div ausgetauscht bzw. Pfade zu den Bildern. Mein Entwickler ist wohl nicht mehr dabei und ich kann leider nicht genug JS fuer diese Sache programmieren. Im Prinzip ist der Konfigurator schon zu 80% fertig, es fehlen lediglich noch 2 Sachen.

1. Die aktuellen Pespektive soll per Slide Effekt in die andere gewechselt werden. (FS fuer FrontSide, BS fuer BackSide). Beide Bilder befinden sich in einem Verzeichnis. Es muss also nur fs.jpg durch bs.jpg ersetzt werden oder umgekehrt. Das sollte per klick auf einen Button geschehen. Natuerlich muss dazu erstmal die aktuell geladene Datei ausgelesen werden.

2. Momentan stehen lediglich 5 Autos zur Verfuegung. Langfristig sollen noch weitere folgen. Die Beste und einfachste Moeglichkeit, die Fahrzeuge in einem Menu unterzubringen, waere ein Slide Menu wie das hier von SonyStyle oder so aehnlich. http://www.sony.co.uk/section/home Es sollen (wie der Wechsel der Perspektive) einfach die aktuellen 5 Divs ausgeslidet und die naechsten 5 eingeslidet werden.

Screenshot, sowie JS-Code fuege ich hier mit ein. Falls jemand das gesamte Verz. zum testen moechte, kann ich es gerne als zip per Mail senden.

Hoffe sehr ihr koennt mir helfen. Schaetze, das die Slide Sache mit der Pespektive ca. 5 Zeilen Code sind, die an einer bestimmten Stelle eingefuegt werden muessen (irgendwas mit addEvent). Die Sache mit dem Menue ist da vermutlich schon etwas mehr. Zeige mich aber gerne erkenntlich.

Viele Gruesse X4all

Hier der JS Mootools Code

Code:
	//Seite einblenden
	// Effekt-Objekt erstellen
	function einblenden(){
	var meinEffekt = new Fx.Tween('wrapper', {
		'duration': 2000
	});

	// Effekt starten!
	meinEffekt.start('opacity', 0, 1);
	}
	
<!-- Setting the default car -->
	window.addEvent('domready', function() {
		
	var car = {		// set default car
		comp:'lo',
		ccar:'cls-c219',
		color:'silver',
		rim:'rs8',
		pers:'fs'
	};

	var cars={		// set all cars
			0:'cls-c219',
			1:'e-w212',
			2:'s-w220',
			3:'c-w204',
			4:'m-w164'
		};

		var carWrap = $('car-models');
		var carSlots = carWrap.getChildren();
		
		Object.each(cars, function(i,k,o){
			console.log(cars[k]);
			carSlots[k].addEvent('click', function(){
					car.ccar = i;
					getcar(car);
				}).set('id', cars[k]); 
		});

		var compWrap = $('car');
		compWrap.getChildren().forEach(function(item){
				item.addEvent('click', function(){
					car.comp = item.get('id');
					getcar(car);

				});
			});
		var colorWrap = $('color');
		colorWrap.getChildren().forEach(function(item){
				item.addEvent('click', function(){
					car.color = item.get('id');
					getcar(car);
				});
			});
		var rimWrap = $('rims');
		rimWrap.getChildren().forEach(function(item){
				item.addEvent('click', function(){
					car.rim = item.get('id');
					getcar(car);
					//req.post({choice:this.get('id')}).send();
					//console.log('clicked ',this.get('id'));
				});
			});
	});	
	
	function changeMain(path){
		console.log('fading out!');
		var fader = new Fx.Morph($('main-car'),{duation: 500, transition: Fx.Transitions.Expo.easeOut});
		fader.start({opacity: 0}).chain(function() {
			console.log('pt2');
			$('main-car').setStyle('background-image', 'url("'+path+'")');			
			this.start({opacity: 1});
		});

	}	
	
	function getcar(param){
		var imgbase = ''; // format must be 'images/'
		var comp = param.comp;
		var ccar = param.ccar;
		var color = param.color;
		var rim = param.rim;
		var pers = param.pers;		
		var path = imgbase + comp + '/' + ccar + '/' + color + '/' + rim + '/' + pers + '.jpg';
		console.log(path);

		new Asset.image(path,{
			onLoad: function(){
				changeMain(path);
			},
			onError: function(){
		 		path = imgbase + 'no_car.jpg';
				changeMain(path);
			}
		});
	}
 

Anhänge

  • screenshot.jpg
    screenshot.jpg
    65,3 KB · Aufrufe: 6
Zuletzt bearbeitet:
Vielleicht waere es noch hilfreich die index.html anzuhaengen, damit Ihr die Divs usw. besser zuordnen koennt. Die Autos werden in Divs mit Car 1 - 5 festgelegt, aber per JS veraendert zurueckgegeben.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Language" content="DE" />
	<meta name="keywords" content="Models, Rims, Colors, Body" />
	<meta http-equiv="X-UA-Compatible" content="chrome=1" />
	<title>Car-Configurator</title>
    
    <script src="mootools-core-1.3.1-full-compat.js" type="text/javascript"></script>
    <script type="text/javascript" src="mootools-more-1.3.1.1.js"></script>
    <script src="main.js" type="text/javascript"></script>
    
    <!-- Stylesheet -->
	<link rel="stylesheet" href="screen.css" type="text/css" media="screen" title="Stylesheet" charset="utf-8" />
</head>

<body>
<body onload="einblenden()">
	<div id="wrapper">
		<div id="menu_wrap">
        	<div id="car">
                <div id="mer">
            	</div>
                <div id="lo">
            	</div>
        	</div>
        
        	<div id="color">
                <div id="black" class="car-color">
            	</div>      
                <div id="blue" class="car-color">
                </div>
                <div id="red" class="car-color">
            	</div>
                <div id="champagner" class="car-color">
            	</div>
                <div id="silver" class="car-color">
            	</div>
                <div id="white" class="car-color">
            	</div>
        	</div>

        	<div id="rims">
            	<div id="rs8" class="rim-model">
            	</div>
                <div id="rs8-chrom" class="rim-model">
            	</div>
                <div id="lm6" class="rim-model">
            	</div>
                <div id="rs8-black" class="rim-model">
            	</div>
				<div id="rs9-black-polished" class="rim-model">
            	</div>
                <div id="rs9-black" class="rim-model">
            	</div>
                <div id="rsk6" class="rim-model">
            	</div>
                <div id="rsk6-black" class="rim-model">
            	</div>
        	</div>		
                 
            <div id="car-models">
             	<div id="car_1" class="thumbs">
            	</div>      
               	<div id="car_2" class="thumbs">
               	</div>
               	<div id="car_3" class="thumbs">
            	</div>
               	<div id="car_4" class="thumbs">
            	</div>
               	<div id="car_5" class="thumbs">
            	</div>
            </div>      
        </div>        

        <div id="main-car">
             	<div id="ps_left">
            	</div>
             	<div id="ps_right">
            	</div>
        </div>

	</div>

</body>
</html>
 
Kann mir denn keiner helfen???
Wenn Du helfen sagst, meinst Du eigentlich "für Dich fertig schreiben"? Das halte ich für sehr unwahrscheinlich.
Ich kann Deinen Thread aber gerne in den Jobs Bereich verschieben, wo Du nach einem Programmierer suchen kannst.
 
Zurück
Oben