npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@smplygd/focuspoint-loader

v1.1.0

Published

Lazyloading for Focuspoint images.

Downloads

8

Readme

smply.gd Focuspoint Loader

Lazyloading for Focuspoint images. This autoload script uses the jQuery focuspoint plugin by Jono Menz and provides additional helper methods to properly init your focuspoint images with a comprehensive API.

Installation

Install via npm npm install @smplygd/focuspoint-loader --save. Depends on the focuspoint plugin and jQuery.

Markup

Use the basic focuspoint markup for basic functionality:

<div class="focuspoint" data-focus-x="0" data-focus-y="0" data-image-w="400" data-image-h="300">
    <img src="/path/to/image.jpg" />
</div>

Example with lazy loading:

This is not part of the original plugin functionality, this script provides this functionality. Provide an additional data-image attribute with the path to your focuspoint image. We recommend to place the <img /> tag with a 1x1 transparent gif, so you don't have to extra load any placeholder images. THe script will then exchange the image paths, wait for the image to load and then initialize the focuspoint plugin.

 <div class="focuspoint" data-focus-x="0" data-focus-y="0" data-image="/path/to/image.jpg" data-image-w="400" data-image-h="300">
    <img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" />
 </div>

Usage

Include file in your script file and run SGFocuspointLoader.init();. You may use the options below to override the base settings. The init() method will automatically init all focuspoint images with the .focuspoint class.

Further you can initialize additional elements or reinitialize if dimensions have changed using the SGFocuspointLoader.initElements( elements ); method. We use this method to reinitialize focuspoint elements inside sliders so the focuspoint gets calculated correctly after the slider has been initialized or after you appended some AJAX html which contains focuspoint elements.

You may pass a NodeList or a jQuery collection.

You can also you initElement( element ) to just initialize one source. You can pass any argument that either is an jQuery instance or may be wrapped into a jQuery instance.

The difference between both is that initElements initializes each node individually calling the initElement method on each item.

Options

You may provide additional options and overrides via an object passed to the init({}) method. Here is a list of all available options and their default values:

SGFocuspointLoader.init({
    // Provide a selector that should trigger the autoloading of
    // focuspoint images
    triggerSelector: ".focuspoint",
});