slide-elastic.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. (function(){
  2. var slidesEl, minWidth, minHeight;
  3. var resize = function() {
  4. if (window.innerWidth < minWidth || window.innerHeight < minHeight) {
  5. var sx = window.innerWidth / minWidth;
  6. var sy = window.innerHeight / minHeight;
  7. var transform = 'scale(' + Math.min(sx, sy) + ')';
  8. } else {
  9. var transform = 'none';
  10. }
  11. slidesEl.style.MozTransform = transform;
  12. slidesEl.style.WebkitTransform = transform;
  13. slidesEl.style.OTransform = transform;
  14. slidesEl.style.msTransform = transform;
  15. slidesEl.style.transform = transform;
  16. }
  17. var onLoad = function (list) {
  18. if (document.readyState === 'complete') {
  19. list();
  20. } else {
  21. window.addEventListener('load', list);
  22. }
  23. }
  24. onLoad(function() {
  25. slidesEl = document.getElementsByTagName('slides')[0];
  26. minWidth = slidesEl.offsetWidth;
  27. minHeight = slidesEl.offsetHeight;
  28. resize();
  29. window.addEventListener('resize', resize);
  30. })
  31. })();