Mobile Friendly jQuery Image Before/After Plugin - slidetoreveal
| File Size: | 135 KB |
|---|---|
| Views Total: | 2598 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
slidetoreveal is a simple jQuery plugin which allows you to slide or swipe to reveal another image so that you can compare differences between two similar images.
See also:
- jQuery Plugin To Compare Two Images Via A Nice Interface - ClassyCompare
- jQuery Before and After Image Comparison Plugin - Image Reveal
- Stylish jQuery Images Comparison Plugin - twentytwenty
- jQuery Plugin For Comparing Images By Mouse Move - Comparison
- jQuery Plugin To Compare Two Images For Differences - Covering Bad
How to use it:
1. Wrap your before and after images into container elements. Note that the images must have the same size and each image must be inside its own container.
<div class="demo">
<div class="container">
<figure class="before"> <img src="images/before.jpg" />
<figcaption> Before </figcaption>
</figure>
<figure class="after"> <img src="images/after.jpg" />
<figcaption> After </figcaption>
</figure>
</div>
</div>
2. The required CSS styles to set the position properties.
.demo {
position: relative;
}
.demo .after {
position: absolute;
width: 0;
top: 0;
left: 0;
bottom: 0;
overflow: hidden;
}
3. Initialize the plugin. Add the following Javascript snippet in your document.
$('body').ready(function(){
var where = $('#where');
var startx = 0;
$('.demo').each(function(){
var banda = $(this);
var bandaX = this.offsetLeft;
var before = $(this).find('.before');
var after = $(this).find('.after');
var afterWidth = 0;
banda.bind('touchstart', function(event){
var e = event.originalEvent;
var touchobj = e.targetTouches[0].pageX; // reference first touch point (ie: first finger)
$('#where').text(touchobj.clientX);
startx = parseInt(touchobj.clientX); // get x position of touch point relative to left edge of browser
afterWidth = (touchobj - bandaX) + 'px';
after.width(afterWidth);
after.css({
'border-right': 'solid 3px red'
});
e.preventDefault()
});
banda.bind('touchmove', function(event){
var e = event.originalEvent;
var touchobj = e.changedTouches[0]; // reference first touch point for this event
$('#where').text(touchobj.clientX);
after.width((touchobj.clientX - bandaX) + 'px');
e.preventDefault();
});
banda.bind('touchend', function(event){
var e = event.originalEvent;
var touchobj = e.changedTouches[0]; // reference first touch point for this event
$('#where').text(touchobj.clientX);
afterWidth = 0;
after.width(0);
after.css({
'border': 'none'
});
$('#where').text('0');
e.preventDefault();
});
banda.bind('mouseenter', function(e){
banda.bind('mousemove', function(e){
$('#where').text(e.pageX);
afterWidth = (e.pageX - bandaX) + 'px';
after.width(afterWidth);
after.css({
'border-right': 'solid 3px red'
});
});
});
banda.bind('mouseleave', function(e){
afterWidth = 0;
after.width(0);
after.css({
'border': 'none'
});
$('#where').text('0');
});
});
});
This awesome jQuery plugin is developed by Flowdeeps. For more Advanced Usages, please check the demo page or visit the official website.











