A simple library to view large images up close using simple mouse interaction, and the full screen.
See the codeA stand alone javascript library for viewing images on the full, full screen. Using the touch/mouse position for panning. Here's a demo! You can also play with the code live on CodePen.
Intense images is a stand alone library (no jquery, or the likes) so usage is pretty straight forward. All styling of image elements is up to the user, Intense.js only handles the creation, styling and management of the image viewer and captions.
There aren't many restrictions for the html elements you want to use to activate the Intense image viewer, the one mandatory attribute is either a src, data-image or a href, which needs to point to an image file. You can use data-image if you want to load in a different version of the image to the original source (higher resolution, for example).
<img src="./img/awesome-source.jpg" />
<!-- OR -->
<div class="anything" data-image="./img/awesome-source.jpg" />
You can also pass through titles, and subcaptions, which will appear at the bottom right of the viewer. To do this, you use the data-title and data-caption attributes.
<img src="./img/awesome-source.jpg" data-title="My beach adventure" data-caption="Thanks Sam, for the great picture"/>
Intense.js is fairly robust when it comes to assigning elements to be used, its as simple as passing them to the Intense function, once they have been rendered. You can do this with document.querySelector finding your elements however you like.
<img src="./img/awesome-source.jpg" />
<script>
window.onload = function() {
// Intensify all images on the page.
var element = document.querySelector( 'img' );
Intense( element );
}
</script>
Or doing multiple at once, with a classname.
<img src="./img/awesome-source.jpg" class="intense" />
<img src="./img/awesome-source.jpg" class="intense" />
<script>
window.onload = function() {
// Intensify all images with the 'intense' classname.
var elements = document.querySelectorAll( '.intense' );
Intense( elements );
}
</script>
If you want, you can invert the direction of the interactions
<img src="./img/awesome-source.jpg" class="intense" />
<img src="./img/awesome-source.jpg" class="intense" />
<script>
window.onload = function() {
// Intensify all images with the 'intense' classname.
var elements = document.querySelectorAll( '.intense' );
Intense( elements, {invertInteractionDirection: true});
}
</script>
There aren't any css restrictions. Although you'll want to avoid tainting the js files css with anything else (editing the base h1 tag, for instance), unless of course, thats what you want to customize.
If you wish to use the + cursor, you can find the image in the demo folder, here's the css snippet.
.your-image-class {
cursor: url('./you-image-directory/plus_cursor.png') 25 25, auto;
}
Here's a quick screenshot of Intense.js in action. You should really look at the demo though, to get a full feel for the interactions.

Intense has been tested in the latest stable builds of Safari, Chrome and Firefox. It "should work" in Internet Explorer 9 and up as well.
If you're using React, check out react-intense!
The MIT License (MIT)
Copyright (C) 2016 ~ Tim Holman ~ timothy.w.holman@gmail.com
Overall
Maintained
Code review
Latest release
Releases this year
559 followers · starred Apr 2015
7,617 followers · starred Jul 2014
16,592 followers · starred Jul 2014
107 followers · starred Jul 2014
A simple library to view large images up close using simple mouse interaction, and the full screen.
See the codeA stand alone javascript library for viewing images on the full, full screen. Using the touch/mouse position for panning. Here's a demo! You can also play with the code live on CodePen.
Intense images is a stand alone library (no jquery, or the likes) so usage is pretty straight forward. All styling of image elements is up to the user, Intense.js only handles the creation, styling and management of the image viewer and captions.
There aren't many restrictions for the html elements you want to use to activate the Intense image viewer, the one mandatory attribute is either a src, data-image or a href, which needs to point to an image file. You can use data-image if you want to load in a different version of the image to the original source (higher resolution, for example).
<img src="./img/awesome-source.jpg" />
<!-- OR -->
<div class="anything" data-image="./img/awesome-source.jpg" />
You can also pass through titles, and subcaptions, which will appear at the bottom right of the viewer. To do this, you use the data-title and data-caption attributes.
<img src="./img/awesome-source.jpg" data-title="My beach adventure" data-caption="Thanks Sam, for the great picture"/>
Intense.js is fairly robust when it comes to assigning elements to be used, its as simple as passing them to the Intense function, once they have been rendered. You can do this with document.querySelector finding your elements however you like.
<img src="./img/awesome-source.jpg" />
<script>
window.onload = function() {
// Intensify all images on the page.
var element = document.querySelector( 'img' );
Intense( element );
}
</script>
Or doing multiple at once, with a classname.
<img src="./img/awesome-source.jpg" class="intense" />
<img src="./img/awesome-source.jpg" class="intense" />
<script>
window.onload = function() {
// Intensify all images with the 'intense' classname.
var elements = document.querySelectorAll( '.intense' );
Intense( elements );
}
</script>
If you want, you can invert the direction of the interactions
<img src="./img/awesome-source.jpg" class="intense" />
<img src="./img/awesome-source.jpg" class="intense" />
<script>
window.onload = function() {
// Intensify all images with the 'intense' classname.
var elements = document.querySelectorAll( '.intense' );
Intense( elements, {invertInteractionDirection: true});
}
</script>
There aren't any css restrictions. Although you'll want to avoid tainting the js files css with anything else (editing the base h1 tag, for instance), unless of course, thats what you want to customize.
If you wish to use the + cursor, you can find the image in the demo folder, here's the css snippet.
.your-image-class {
cursor: url('./you-image-directory/plus_cursor.png') 25 25, auto;
}
Here's a quick screenshot of Intense.js in action. You should really look at the demo though, to get a full feel for the interactions.

Intense has been tested in the latest stable builds of Safari, Chrome and Firefox. It "should work" in Internet Explorer 9 and up as well.
If you're using React, check out react-intense!
The MIT License (MIT)
Copyright (C) 2016 ~ Tim Holman ~ timothy.w.holman@gmail.com
Overall
Maintained
Code review
Latest release
Releases this year
559 followers · starred Apr 2015
7,617 followers · starred Jul 2014
16,592 followers · starred Jul 2014
107 followers · starred Jul 2014