原图对比窗帘效果jQuery分享
2014-04-22 22:08
267 查看
效果:
HTML代码:
<div class="vfx-image-wrap special">
<div class="before-image" style="width: 50%; transition: all 0.3s ease 0s;">
<img alt="" src="js/VFX-before.jpg">
</div>
<div class="after-image">
<img alt="" src="js/VFX-after.jpg">
</div>
<div class="divider-bar" style="left: 50%; transition: all 0.3s ease 0s;"></div>
</div>
JS代码:
$(function () {
//外DIV
var imageWrap = $('.vfx-image-wrap'),
//前景图
topImage = $(this).find('.before-image'),
//分割线
divider = $(this).find('.divider-bar'),
stayBounce = $('.toggle-function');
imageWrap.on("mousemove", function (e) {
// Gotta localize top image and divider so it only applies to this
var offsets = $(this).offset(),
fullWidth = $(this).width(),
mouseX = e.pageX - offsets.left,
topImage = $(this).find('.before-image'),
divider = $(this).find('.divider-bar');
if (mouseX < 0) {
mouseX = 0;
} else if (mouseX > fullWidth) {
mouseX = fullWidth
}
$(this).addClass('special');
divider.css({ left: mouseX, transition: 'none' });
topImage.css({ width: mouseX, transition: 'none' });
});
stayBounce.click(function(){
$(this).toggleClass('stay');
});
imageWrap.on("mouseleave", function () {
if (!stayBounce.hasClass('stay')) {
divider.css({ left: '50%', transition: 'all .3s' });
topImage.css({ width: '50%', transition: 'all .3s' });
}
});
});源文件下载:地址一
HTML代码:
<div class="vfx-image-wrap special">
<div class="before-image" style="width: 50%; transition: all 0.3s ease 0s;">
<img alt="" src="js/VFX-before.jpg">
</div>
<div class="after-image">
<img alt="" src="js/VFX-after.jpg">
</div>
<div class="divider-bar" style="left: 50%; transition: all 0.3s ease 0s;"></div>
</div>
JS代码:
$(function () {
//外DIV
var imageWrap = $('.vfx-image-wrap'),
//前景图
topImage = $(this).find('.before-image'),
//分割线
divider = $(this).find('.divider-bar'),
stayBounce = $('.toggle-function');
imageWrap.on("mousemove", function (e) {
// Gotta localize top image and divider so it only applies to this
var offsets = $(this).offset(),
fullWidth = $(this).width(),
mouseX = e.pageX - offsets.left,
topImage = $(this).find('.before-image'),
divider = $(this).find('.divider-bar');
if (mouseX < 0) {
mouseX = 0;
} else if (mouseX > fullWidth) {
mouseX = fullWidth
}
$(this).addClass('special');
divider.css({ left: mouseX, transition: 'none' });
topImage.css({ width: mouseX, transition: 'none' });
});
stayBounce.click(function(){
$(this).toggleClass('stay');
});
imageWrap.on("mouseleave", function () {
if (!stayBounce.hasClass('stay')) {
divider.css({ left: '50%', transition: 'all .3s' });
topImage.css({ width: '50%', transition: 'all .3s' });
}
});
});源文件下载:地址一
相关文章推荐
- Jquery Div上下移动
- 【jQuery】JQuery-ui autocomplete与strtus2结合使用
- jquery遮罩层
- [js插件]JqueryUI日期插件
- phonegap成长笔记(一)
- 元素水平垂直居中(transform,margin,table-cell,jQuery)
- jQuery:多个AJAX/JSON请求对应单个回调
- jQuery:多个AJAX/JSON请求对应单个回调
- jQuery:多个AJAX/JSON请求对应单个回调
- 商城放大镜效果
- jquery的ajax请求与springMVC交互
- jquery autocomplete
- jQuery中attr和prop方法的区别
- Jquery promise
- 解决jquery$命名符和其它框架的冲突问题
- jQuery 学习系列笔记(二)
- 移动Web框架:jQuery Mobile VS Sencha Touch
- jQuery Validation范例
- jQuery 之父:每天写代码
- jQuery的编码标准和最佳实践