@@ -450,11 +450,39 @@ var resizePizzas = function(size) {
450450
451451 // Iterates through pizza elements on the page and changes their widths
452452 function changePizzaSizes ( size ) {
453- for ( var i = 0 ; i < document . querySelectorAll ( ".randomPizzaContainer" ) . length ; i ++ ) {
453+
454+ var ramdomPizzas = document . getElementsByClassName ( 'randomPizzaContainer' ) ;
455+
456+ //alert(size);
457+ var pizzaContainerwidth = "33.33%" ;
458+ switch ( size ) {
459+ case "1" :
460+ newwidth = 25 ;
461+ break ;
462+ case "2" :
463+ newwidth = 33.33 ;
464+ break ;
465+ case "3" :
466+ newwidth = 50 ;
467+ break ;
468+ default :
469+ console . log ( "bug in sizeSwitcher" ) ;
470+ }
471+
472+ var elemArray = Array . prototype . slice . apply ( ramdomPizzas ) ;
473+
474+ for ( var i = 0 ; i < elemArray . length ; i ++ ) {
475+ elemArray [ i ] . style . width = newwidth + '%' ;
476+ }
477+
478+ /*
479+ for (var i = 0; i < document.querySelectorAll(".randomPizzaContainer").length; i++) {
454480 var dx = determineDx(document.querySelectorAll(".randomPizzaContainer")[i], size);
455481 var newwidth = (document.querySelectorAll(".randomPizzaContainer")[i].offsetWidth + dx) + 'px';
456482 document.querySelectorAll(".randomPizzaContainer")[i].style.width = newwidth;
457483 }
484+ */
485+
458486 }
459487
460488 changePizzaSizes ( size ) ;
@@ -469,7 +497,7 @@ var resizePizzas = function(size) {
469497window . performance . mark ( "mark_start_generating" ) ; // collect timing data
470498
471499// This for-loop actually creates and appends all of the pizzas when the page loads
472- for ( var i = 2 ; i < 100 ; i ++ ) {
500+ for ( var i = 2 ; i < 12 ; i ++ ) {
473501 var pizzasDiv = document . getElementById ( "randomPizzas" ) ;
474502 pizzasDiv . appendChild ( pizzaElementGenerator ( i ) ) ;
475503}
@@ -502,11 +530,34 @@ function updatePositions() {
502530 frame ++ ;
503531 window . performance . mark ( "mark_start_frame" ) ;
504532
505- var items = document . querySelectorAll ( '.mover' ) ;
506- for ( var i = 0 ; i < items . length ; i ++ ) {
507- var phase = Math . sin ( ( document . body . scrollTop / 1250 ) + ( i % 5 ) ) ;
508- items [ i ] . style . left = items [ i ] . basicLeft + 100 * phase + 'px' ;
533+ var items = document . getElementsByClassName ( 'mover' ) ;
534+
535+ var elemArray = Array . prototype . slice . apply ( items ) ;
536+
537+ var scrolltopitem = document . body . scrollTop ;
538+
539+ //calculate 5 phases
540+ var phases = [ ] ;
541+ for ( var i = 0 ; i < 5 ; i ++ ) {
542+ var phase = Math . sin ( ( scrolltopitem / 1250 ) + ( i % 5 ) ) ;
543+
544+ phases [ i ] = phase * 100 ;
545+ }
546+
547+
548+ for ( var i = 0 ; i < elemArray . length ; i ++ ) {
549+ //console.log('inside loop: ' + document.body.scrollTop)
550+
551+ //var phase = Math.sin((scrolltopitem / 1250) + (i % 5));
552+ //console.log('in loop; phase for ['+ i + '] is: ' + phase);
553+ //elemArray[i].style.left = elemArray[i].basicLeft + 100 * phase + 'px';
554+
555+ //console.log('elemArray[i].basicLeft =' + elemArray[i].basicLeft)
556+ //var shiftitem = (i % 5);
557+ //console.log('shiftitem is:' + shiftitem);
558+ elemArray [ i ] . style . left = elemArray [ i ] . basicLeft + phases [ i % 5 ] + 'px' ;
509559 }
560+
510561
511562 // User Timing API to the rescue again. Seriously, it's worth learning.
512563 // Super easy to create custom metrics.
@@ -525,7 +576,7 @@ window.addEventListener('scroll', updatePositions);
525576document . addEventListener ( 'DOMContentLoaded' , function ( ) {
526577 var cols = 8 ;
527578 var s = 256 ;
528- for ( var i = 0 ; i < 200 ; i ++ ) {
579+ for ( var i = 0 ; i < 60 ; i ++ ) {
529580 var elem = document . createElement ( 'img' ) ;
530581 elem . className = 'mover' ;
531582 elem . src = "images/pizza.png" ;
0 commit comments