基于jquery编写的放大镜插件
作者:bea
本文实例为大家分享了自己动手实现的jquery放大镜插件,供大家参考,具体内容如下 /** *********************************************** **此插件使用须知--------------- ** **滤镜(inner)与其活动区(active)之比要等于 ** **放大区(movequ)与其内部图片之比。如比值不相 ** **等,请改变图片大小.------------------------** *
本文实例为大家分享了自己动手实现的jquery放大镜插件,供大家参考,具体内容如下
/**
***********************************************
**此插件使用须知--------------- **
**滤镜(inner)与其活动区(active)之比要等于 **
**放大区(movequ)与其内部图片之比。如比值不相 **
**等,请改变图片大小.------------------------**
**参数介绍 **
**active:滤镜活动区 **
**inner:滤镜 **
**movequ:放大区域 **
**需在Html头部引入本js脚本及jquery-1.8.3脚本 **
**如有疑问,请联系QQ:64047399,为你解答 **
***********************************************
**/
$.fn.extend({
yangbo:function(active,inner,movequ){
$(active).hover(function(){
$(inner).show();
$(movequ).show();
var proportionOne=$(active).width()/$(inner).width();
var proportionTwo=$(movequ).find('img').width()/$(movequ).width();
// console.log($(movequ).find('img').width());
if(proportionOne==proportionTwo){
$(this).mousemove(function(event){
//以下为右侧放大
var proportionLeft=$(active).width()/$(inner).width();
var proportionTop=$(active).height()/$(inner).height();
$(movequ).scrollLeft($(inner).position().left*proportionLeft).scrollTop($(inner).position()
.top*proportionTop);
//以下为小滤镜拖拽
$(inner).offset({
left:event.pageX-40,
top:event.pageY-40
});
//以下为判断临界值
if($(inner).position().left<=0){
$(inner).css({
left:0
})
}
if($(inner).position().top<=0){
$(inner).css({
top:0
})
}
if($(inner).position().left>=$(this).width()-$(inner).width()){
$(inner).css({
left:$(this).width()-$(inner).width()
})
}
if($(inner).position().top>=$(this).height()-$(inner).height()){
$(inner).css({
top:$(this).height()-$(inner).height()
})
}
})
}else{
$(active).text('图片宽高不正确:请调整图片宽高-->滤镜与其父亲之比应该等于右侧盒子与右侧图片之比')
.css({
background:'yellow',
color:'red',
});
}
},function(){
$(inner).hide();
$(movequ).hide();
})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助。
有用 | 无用
/**
***********************************************
**此插件使用须知--------------- **
**滤镜(inner)与其活动区(active)之比要等于 **
**放大区(movequ)与其内部图片之比。如比值不相 **
**等,请改变图片大小.------------------------**
**参数介绍 **
**active:滤镜活动区 **
**inner:滤镜 **
**movequ:放大区域 **
**需在Html头部引入本js脚本及jquery-1.8.3脚本 **
**如有疑问,请联系QQ:64047399,为你解答 **
***********************************************
**/
$.fn.extend({
yangbo:function(active,inner,movequ){
$(active).hover(function(){
$(inner).show();
$(movequ).show();
var proportionOne=$(active).width()/$(inner).width();
var proportionTwo=$(movequ).find('img').width()/$(movequ).width();
// console.log($(movequ).find('img').width());
if(proportionOne==proportionTwo){
$(this).mousemove(function(event){
//以下为右侧放大
var proportionLeft=$(active).width()/$(inner).width();
var proportionTop=$(active).height()/$(inner).height();
$(movequ).scrollLeft($(inner).position().left*proportionLeft).scrollTop($(inner).position()
.top*proportionTop);
//以下为小滤镜拖拽
$(inner).offset({
left:event.pageX-40,
top:event.pageY-40
});
//以下为判断临界值
if($(inner).position().left<=0){
$(inner).css({
left:0
})
}
if($(inner).position().top<=0){
$(inner).css({
top:0
})
}
if($(inner).position().left>=$(this).width()-$(inner).width()){
$(inner).css({
left:$(this).width()-$(inner).width()
})
}
if($(inner).position().top>=$(this).height()-$(inner).height()){
$(inner).css({
top:$(this).height()-$(inner).height()
})
}
})
}else{
$(active).text('图片宽高不正确:请调整图片宽高-->滤镜与其父亲之比应该等于右侧盒子与右侧图片之比')
.css({
background:'yellow',
color:'red',
});
}
},function(){
$(inner).hide();
$(movequ).hide();
})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JavaScript 2048 游戏实例代码(简单易懂)
- JavaScript入门系列之知识点总结
- JS实现支持Ajax验证的表单插件
- 拥有一个属于自己的javascript表单验证插件
- jquery zTree异步加载、模糊搜索简单实例分享
- js+css实现select的美化效果
- 基于jQuery Ajax实现上传文件
- Angular.js如何从PHP读取后台数据
- JavaScript驾驭网页-获取网页元素
- JavaScript驾驭网页-CSS与DOM
- JavaScript驾驭网页-DOM
- 常用的JQuery函数及功能小结
- JS中setTimeout的巧妙用法前端函数节流
- Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
- 不能不知道的10个angularjs英文学习网站
- AngularJS 让人爱不释手的八种功能
- java中String类型变量的赋值问题介绍
- 基于javascript实现泡泡大冒险网页版小游戏
- 基于javascript实现句子翻牌网页版小游戏