|
24 | 24 |
|
25 | 25 | varhelpers={ |
26 | 26 | vendorPrefix:(function(){ |
27 | | -varua=navigator.userAgent, |
28 | | -prefix=''; |
| 27 | +varprefixes=/^(Moz|Webkit|Khtml|O|ms|Icab)(?=[A-Z])/, |
| 28 | +style=document.getElementsByTagName('script')[0].style, |
| 29 | +prefix='', |
| 30 | +prop; |
29 | 31 |
|
30 | | -if(/WebKit/.test(ua)){ |
31 | | -prefix='-webkit-'; |
32 | | -}elseif(/Firefox/.test(ua)){ |
33 | | -prefix='-moz-'; |
34 | | -}elseif(window.opera){ |
35 | | -prefix='-o-'; |
36 | | -}elseif(/MSIE/.test(ua)){ |
37 | | -prefix='-ms-'; |
| 32 | +for(propinstyle){ |
| 33 | +if(prefixes.test(prop)){ |
| 34 | +prefix=prop.match(prefixes)[0]; |
| 35 | +break; |
| 36 | +} |
38 | 37 | } |
39 | 38 |
|
40 | | -returnprefix; |
| 39 | +if('WebkitOpacity'instyle){prefix='Webkit';} |
| 40 | +if('KhtmlOpacity'instyle){prefix='Khtml';} |
| 41 | + |
| 42 | +returnfunction(property){ |
| 43 | +returnprefix+(prefix.length>0 ?property.charAt(0).toUpperCase()+property.slice(1) :property); |
| 44 | +}; |
41 | 45 | }()) |
42 | 46 | }; |
43 | 47 |
|
|
437 | 441 | var$elem=$('#scroll-property-transform-scroller').stellar('destroy').stellar({ |
438 | 442 | hideDistantElements:false, |
439 | 443 | scrollProperty:'transform' |
440 | | -}).css(helpers.vendorPrefix+'transform','translateY(-20px)'); |
| 444 | +}); |
| 445 | + |
| 446 | +$elem[0].style[helpers.vendorPrefix('transform')]='translateY(-20px)'; |
441 | 447 |
|
442 | 448 | setTimeout(function(){ |
443 | 449 | strictEqual($('#scroll-property-transform .ratio--1').css('top'),'40px','should support negative ratios'); |
444 | 450 | strictEqual($('#scroll-property-transform .ratio-0-5').css('top'),'10px','should support ratios between 0 and 1'); |
445 | 451 | strictEqual($('#scroll-property-transform .ratio-1').css('top'),'0px','should support ratios of 1'); |
446 | 452 | strictEqual($('#scroll-property-transform .ratio-2').css('top'),'-20px','should support ratios greater than 1'); |
447 | 453 |
|
448 | | -$elem.stellar('destroy').css(helpers.vendorPrefix+'transform',''); |
| 454 | +$elem.stellar('destroy')[0].style[helpers.vendorPrefix('transform')]='none'; |
449 | 455 | start(); |
450 | 456 | },20); |
451 | 457 | }); |
|
454 | 460 | var$elem=$('#scroll-property-transform-scroller').stellar('destroy').stellar({ |
455 | 461 | hideDistantElements:false, |
456 | 462 | scrollProperty:'transform' |
457 | | -}).css(helpers.vendorPrefix+'transform','translateX(-20px)'); |
| 463 | +}); |
| 464 | + |
| 465 | +$elem[0].style[helpers.vendorPrefix('transform')]='translateX(-20px)'; |
458 | 466 |
|
459 | 467 | setTimeout(function(){ |
460 | 468 | strictEqual($('#scroll-property-transform .ratio--1').css('left'),'40px','should support negative ratios'); |
461 | 469 | strictEqual($('#scroll-property-transform .ratio-0-5').css('left'),'10px','should support ratios between 0 and 1'); |
462 | 470 | strictEqual($('#scroll-property-transform .ratio-1').css('left'),'0px','should support ratios of 1'); |
463 | 471 | strictEqual($('#scroll-property-transform .ratio-2').css('left'),'-20px','should support ratios greater than 1'); |
464 | 472 |
|
465 | | -$elem.stellar('destroy').css(helpers.vendorPrefix+'transform',''); |
| 473 | +$elem.stellar('destroy')[0].style[helpers.vendorPrefix('transform')]='none'; |
466 | 474 | start(); |
467 | 475 | },20); |
468 | 476 | }); |
|
476 | 484 | }).scrollTop(20).scrollLeft(0); |
477 | 485 |
|
478 | 486 | setTimeout(function(){ |
479 | | -strictEqual($('#position-absolute .ratio--1').css(helpers.vendorPrefix+'transform').substr(22,2),'40','should support negative ratios'); |
480 | | -strictEqual($('#position-absolute .ratio-0-5').css(helpers.vendorPrefix+'transform').substr(22,2),'10','should support ratios between 0 and 1'); |
481 | | -strictEqual($('#position-absolute .ratio-1').css(helpers.vendorPrefix+'transform').substr(22,1),'0','should support ratios of 1'); |
482 | | -strictEqual($('#position-absolute .ratio-2').css(helpers.vendorPrefix+'transform').substr(22,3),'-20','should support ratios greater than 1'); |
| 487 | +strictEqual(getComputedStyle($('#position-absolute .ratio--1')[0])[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[5],'40','should support negative ratios'); |
| 488 | +strictEqual(getComputedStyle($('#position-absolute .ratio-0-5')[0])[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[5],'10','should support ratios between 0 and 1'); |
| 489 | +strictEqual(getComputedStyle($('#position-absolute .ratio-1')[0])[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[5],'0','should support ratios of 1'); |
| 490 | +strictEqual(getComputedStyle($('#position-absolute .ratio-2')[0])[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[5],'-20','should support ratios greater than 1'); |
483 | 491 |
|
484 | 492 | $(window).stellar('destroy').scrollTop(0).scrollLeft(0); |
485 | 493 | start(); |
|
493 | 501 | }).scrollTop(0).scrollLeft(20); |
494 | 502 |
|
495 | 503 | setTimeout(function(){ |
496 | | -strictEqual($('#position-absolute .ratio--1').css(helpers.vendorPrefix+'transform').substr(19,2),'40','should support negative ratios'); |
497 | | -strictEqual($('#position-absolute .ratio-0-5').css(helpers.vendorPrefix+'transform').substr(19,2),'10','should support ratios between 0 and 1'); |
498 | | -strictEqual($('#position-absolute .ratio-1').css(helpers.vendorPrefix+'transform').substr(19,1),'0','should support ratios of 1'); |
499 | | -strictEqual($('#position-absolute .ratio-2').css(helpers.vendorPrefix+'transform').substr(19,3),'-20','should support ratios greater than 1'); |
| 504 | +strictEqual($('#position-absolute .ratio--1')[0].style[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[4],'40','should support negative ratios'); |
| 505 | +strictEqual($('#position-absolute .ratio-0-5')[0].style[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[4],'10','should support ratios between 0 and 1'); |
| 506 | +strictEqual($('#position-absolute .ratio-1')[0].style[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[4],'0','should support ratios of 1'); |
| 507 | +strictEqual($('#position-absolute .ratio-2')[0].style[helpers.vendorPrefix('transform')].match(/(-?[0-9]+)/g)[4],'-20','should support ratios greater than 1'); |
500 | 508 |
|
501 | 509 | $(window).stellar('destroy').scrollTop(0).scrollLeft(0); |
502 | 510 | start(); |
|