JS图像调整大小与fullPage.js兼容

时间:2016-05-04 17:39:59

标签: javascript compatibility fullpage.js

我正在尝试使用fullpage.js将此代码http://codepen.io/babybackart/pen/GZPjJd集成到网站的某个部分。

此代码基于@ Seika85:Make a .div act like an image精彩回答的上一个问题。 目的是“包含”并在其容器“.plancheBox”上调整图像大小而不切割它。

在此示例中,cat图片的尺寸由容器使用第一个javascript代码驱动:

var calculateImageDimension = function() {

  $('.plancheBox img').each(function() {

    var $img = $(this),
      $plancheBox = $img.closest('.plancheBox');

    $img.css({
      'max-height': $plancheBox.height() + 2,
      /* (+2px) prevent thin margins due to rendering */
      'max-width': $plancheBox.width()
    });

    $img.closest('.container').css({
      'position': 'relative'
    });

  });
}

calculateImageDimension();

为了即时设置这些尺寸(没有页面刷新),我正在使用第二个javascript代码:

var resizeEnd;
$(window).on('resize', function() {
  clearTimeout(resizeEnd);
  resizeEnd = setTimeout(function() {
    $(window).trigger('resize-end');
  }, 200);
});

$(window).on('resize-end', function() {

  $('.plancheBox img').css({
    'max-height': 'none',
    'max-width': 'none'
  })
  $('.plancheBox .container').css({
    'position': ''
  });

  calculateImageDimension();
});

正如您在第一个示例中所看到的,它没有fullpage.js。

我设法在fullpage.js网站上插入了第一个JS代码:http://codepen.io/babybackart/pen/ONrbEN但我真的没办法插入第二个。

我实际上并不是一个JS编码器,所以我想知道我需要做什么来插入这段代码,如果可以用fullpage.js做这个,如果两个代码之间有任何冲突。

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

第二个JS代码必须插入fullPage事件,如下所示:

$(document).ready(function() {
    $('#fullpage').fullpage({
        //events
        afterResize: function(){
            $('.plancheBox img').css({
            'max-height' : 'none',
            'max-width'  : 'none'
          })
          $('.plancheBox .conteneur').css({'position' : ''});

          calculateImageDimension();
        }
    });
});