JQuery实现鼠标滑动图片对比

  • A+
所属分类:生死日记

两张图片的前后对比,主要是.after与.before的应用,直接上代码:
JQuery代码

jQuery(function(){
// Loop through all the sets of before and after pics
jQuery(".beforeafter").each(function(){
// Set the container's size to the size of the image jQuery(this).width(jQuery(this).find("img[rel=before]").attr("width")).height(jQuery(this).find("img[rel=before]").attr("height"));
// Convert the images into background images on layered divs
jQuery(this).append("

").find(".after").css({"background": "url(" + jQuery(this).find("img[rel=after]").attr("src") + ")", "width": jQuery(this).find("img[rel=after]").attr("width") + "px", "height": jQuery(this).find("img[rel=after]").attr("height") + "px"});
jQuery(this).append("

").find(".before").css({"background": "url(" + jQuery(this).find("img[rel=before]").attr("src") + ")", "width": jQuery(this).find("img[rel=before]").attr("width") - 40 + "px", "height": jQuery(this).find("img[rel=before]").attr("height") + "px"});
// Add a helpful message
jQuery(this).append("

鼠标悬停图片上滑动观看

");
// Remove the original images
jQuery(this).find("img").remove();
// Event handler for the mouse moving over the image
jQuery(this).mousemove(function(event){
// Need to know the X position of the parent as people may have their browsers set to any width
var offset = jQuery(this).offset().left;
// Don't let the reveal go any further than 50 pixels less than the width of the image
// or 50 pixels on the left hand side
if ((event.clientX - offset) < (jQuery(this).find(".after").width() -50) && (event.clientX - offset) > 50) {
// Adjust the width of the top image to match the cursor position
jQuery(this).find(".before").width(event.clientX - offset);
}
});
// Fade out the help message after the first hover
jQuery(this).hover(function(){
jQuery(this).find(".help").animate({"opacity": 0}, 400, function(){ jQuery(this).find(".help").remove(); });
});
});
});

CSS代码

.section {
margin-top: 50px;
position: relative;
}
.beforeafter { position: relative; overflow: hidden; }
.before, .after { position: absolute; top: 0; left: 0; }
.before {
border-right: 5px solid #000;
-moz-box-shadow: 1px 0 20px #222;
-webkit-box-shadow: 1px 0 20px #222;
box-shadow: 1px 0 20px #222;
}
.help {
position: absolute;
bottom: 20px;
right: 70px;
font: bold 20px/1em Helvetica, Arial, sans-serif;
color: #FFF;
opacity: 0.7;
}

HTML代码







演示:JQuery实现鼠标滑动图片对比 | 郑州SEO


郑州SEO给你更好的视觉体验

JQuery实现鼠标滑动图片对比
JQuery实现鼠标滑动图片对比



VIA:威言威语

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: