響應式延遲加載的jQuery插件

jopen 10年前發布 | 31K 次閱讀 jQuery插件 其他jQuery插件

BttrLazyLoading 是一款響應式圖像延遲加載的 jQuery 插件,允許用戶的 web 應用延遲圖片的加載直到圖像滾動。BttrLazyLoading 提供四種不同的屏幕大小版本: 手機 (<768px), 平板 (≥768px), 桌面 (≥992px) 和大型的桌面 (≥1200px)。在線演示

響應式延遲加載的jQuery插件

API

Options

  • delay: Adds delay to the image loading time.
  • threshold: By default images are loaded when they appear on the screen. If you want images to load earlier use threshold parameter. Setting threshold to 200 causes image to load 200 pixels before it appears on viewport.
  • animation: Adds an animation when the image loads. Animations available: ['flipInX', 'flipInY', 'fadeIn', 'fadeInUp', 'fadeInDown', 'fadeInLeft', 'fadeInRight', 'fadeInUpBig', 'fadeInDownBig', 'fadeInLeftBig', 'fadeInRightBig', 'slideInDown', 'slideInLeft', 'slideInRight', 'bounceIn', 'bounceInDown', 'bounceInUp', 'bounceInLeft', 'bounceInRight', 'rotateIn', 'rotateInDownLeft', 'rotateInDownRight', 'rotateInUpLeft', 'rotateInUpRight', 'lightSpeedIn', 'rollIn']
  • event: Defines the event that will be use to trigger the image loading/updating.
  • placeholder: Base 64 image that is used when the image loads.
  • container: You can also use this plugin for images inside scrolling container, such as div with scrollbar. By default the container is the window.
  • retina: Enable a better quality on Retina screens. BttrLazyLoading uses a naming convention @2x to display retina's images. BttrLazyLoading will therefore seek for "yourImage@2x.gif" on retina' screens instead of "yourImage.gif"
  • triggermanually: Whether or not to trigger the first image load manually.
  • updatemanually: Whether or not to trigger the image update (needed when the window resizes for example) manually.
  • backgroundcolor: The background color of your images that are not loaded yet.
  • xs: Image Object for Mobile
  • sm: Image Object for Tablet
  • md: Image Object for Desktop
  • lg: Image Object for Large Desktop

Events

  • bttrlazyloading.beforeLoad: This event is triggered just before the "bttrlazyloading.load" event.
  • bttrlazyloading.load: This event is triggered when the image loading is triggered.
  • bttrlazyloading.afterLoad: This event is triggered just after the "bttrlazyloading.load" event.
  • bttrlazyloading.error: This event is triggered when none of the images (xs, sm, md and lg) exist. The classic "error" event could therefore be triggered up to 8 times (4 times for a normal screen and 8 times for a retina screen) while "bttrlazyloading.error" will be triggered only once.

Examples

Set options on instanciation

Via data attributes

<img id="yourImageId" class="bttrlazyloading"
    data-bttrlazyloading-xs-src="img/768x200.gif"
    data-bttrlazyloading-sm-src="img/345x250.gif"
    data-bttrlazyloading-md-src="img/455x350.gif"
    data-bttrlazyloading-lg-src="img/360x300.gif"
    data-bttrlazyloading-transition="rotatedIn"
    data-bttrlazyloading-retina="true"
    data-bttrlazyloading-delay="2000"
    data-bttrlazyloading-event="mouseover"
    data-bttrlazyloading-container="document.body"
    data-bttrlazyloading-threshold="500"
/>

For a perfect experience 'width' and 'height' are necessary (The plugin cannot know the dimensions of your images before they load.).

<img id="test" class="bttrlazyloading"
    data-bttrlazyloading-xs-src="img/768x200.gif"
    data-bttrlazyloading-xs-width="768"
    data-bttrlazyloading-xs-height="200"
    data-bttrlazyloading-sm-src="img/345x250.gif"
    data-bttrlazyloading-sm-width="345"
    data-bttrlazyloading-sm-height="250"
    data-bttrlazyloading-md-src="img/455x350.gif"
    data-bttrlazyloading-md-width="455"
    data-bttrlazyloading-md-height="350"
    data-bttrlazyloading-lg-src="img/360x300.gif"
    data-bttrlazyloading-lg-width="360"
    data-bttrlazyloading-lg-height="300"
/>

or

<img id="yourImageId" class="bttrlazyloading"
    data-bttrlazyloading-xs='{"src": "img/720x200.gif", "width" : 720,  "height" : 200}'
    data-bttrlazyloading-sm='{"src": "img/360x200.gif", "width" : 360,  "height" : 200}'
    data-bttrlazyloading-md='{"src": "img/470x200.gif", "width" : 470,  "height" : 200}'
    data-bttrlazyloading-lg='{"src": "img/570x200.gif", "width" : 570,  "height" : 200}'
/>

Only one image size needed! BttrLazyLoading always try to load the biggest version of the image available. Therefore the following example will work on every screen too.

<img id="yourImageId" class="bttrlazyloading"
    data-bttrlazyloading-md-src="img/455x350.gif"
/>


 

項目主頁:http://www.baiduhome.net/lib/view/home/1393249166505

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!