封装jQuery插件的步骤
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
*{ margin:0; padding:0;} #min{ height:350px; width:350px; border:1px solid #ccc; position:relative; top:20px; left:20px; cursor:move;}
#kuai{ height:175px; width:175px; background:#FC3; position:absolute; left:0; top:0; opacity:0.5; display:none;} #max{ width:400px; height:400px; border:1px solid #ccc; position:absolute; left:400px; top:20px; overflow:hidden; display:none}
#max img{ position:absolute;}
</style>
<script src="jquery1.9.1.js"></script>
<script>
$(function (){ $("#min").hover(function (){ $("#kuai").show();
$("#max").show(); },function (){
$("#kuai").hide();
$("#max").hide();
});
$("#min").mousemove(function (event){ var disX=event.pageX-$("#min").offset().left-$("#kuai").width()/2;
var disY=event.pageY-$("#min").offset().top-$("#kuai").height()/2; var maxWidth=$("#min").width()-$("#kuai").width(); var maxHeight=$("#min").height()-$("#kuai").height();
if (disX<=0){
disX=0;
}
else if (disX>maxWidth){
disX=maxWidth;
}
if (disY<=0){
disY=0;
}
else if(disY>maxHeight){ disY=maxHeight;
} $("#kuai").css({
left:disX,
top:disY
});
var scaleL=disX/maxWidth;
var scaleT=disY/maxHeight;
$("#max img").css({
left:-scaleL*($("#max img").width()-$("#max").width()),
top:-scaleT*($("#max img").height()-$("#max").height())
});
});
});
</script>
</head>
<body>
<div id="min">
<img src="min.jpg"/>
<div id="kuai"></div>
</div>
<div id="max">
<img src="max.jpg"/>
</div>
</body>
</html>
var $fang=$('<div id="min">
<img src="max.jpg"/>
<div id="kuai"></div>
</div>
<div id="max">
<img src="max.jpg"/>
</div>');
var $fang=$('<div id="min">'+
'<img src="'+$(".oImg").attr("src")+'"/>'+
'<div id="kuai"></div>'+
'</div>'+
'<div id="max">'+
'<img src="'+$(".oImg").attr("src")+'"/>'+
'</div>');
$(".oImg").before($fang);
<script>
function fang(obj){
var $fang=$('<div id="min">'+
'<img src="'+obj.attr("src")+'"/>'+
'<div id="kuai"></div>'+
'</div>'+
'<div id="max">'+
'<img src="'+obj.attr("src")+'"/>'+
'</div>');
obj.before($fang);
obj.remove();
$("#min").hover(function (){
$("#kuai").show();
$("#max").show(); },function (){
$("#kuai").hide();
$("#max").hide();
});
$("#min").mousemove(function (event){ var disX=event.pageX-$("#min").offset().left-$("#kuai").width()/2;
var disY=event.pageY-$("#min").offset().top-$("#kuai").height()/2; var maxWidth=$("#min").width()-$("#kuai").width(); var maxHeight=$("#min").height()-$("#kuai").height();
if (disX<=0){
disX=0;
}
else if (disX>maxWidth){
disX=maxWidth;
}
if (disY<=0){
disY=0;
}
else if(disY>maxHeight){ disY=maxHeight;
} $("#kuai").css({
left:disX,
top:disY
}); // 10/100
var scaleL=disX/maxWidth;
var scaleT=disY/maxHeight; $("#max img").css({
left:-scaleL*($("#max img").width()-$("#max").width()),
top:-scaleT*($("#max img").height()-$("#max").height())
});
});
}
$(function (){
fang($(".oImg"));
});
</script>
$.fn.extend({
fang:function(){
var $fang=$('<div id="min">'+
'<img src="'+obj.attr("src")+'"/>'+
'<div id="kuai"></div>'+
'</div>'+
'<div id="max">'+
'<img src="'+obj.attr("src")+'"/>'+
'</div>');
obj.before($fang);
obj.remove();
$("#min").hover(function (){
$("#kuai").show();
$("#max").show();
},function (){
$("#kuai").hide();
$("#max").hide();
});
$("#min").mousemove(function (event){
var disX=event.pageX-$("#min").offset().left-$("#kuai").width()/2;
var disY=event.pageY-$("#min").offset().top-$("#kuai").height()/2;
var maxWidth=$("#min").width()-$("#kuai").width();
var maxHeight=$("#min").height()-$("#kuai").height();
if (disX<=0){
disX=0;
}
else if (disX>maxWidth){
disX=maxWidth;
}
if (disY<=0){
disY=0;
}
else if(disY>maxHeight){
disY=maxHeight;
}
$("#kuai").css({
left:disX,
top:disY
});
// 10/100
var scaleL=disX/maxWidth;
var scaleT=disY/maxHeight;
$("#max img").css({
left:-scaleL*($("#max img").width()-$("#max").width()),
top:-scaleT*($("#max img").height()-$("#max").height())
});
});
}
})
*{ margin:; padding:;}
#min{ height:350px; width:350px; border:1px solid #ccc; position:relative; top:20px; left:20px; cursor:move;}
#min img{
width: 350px;
height: 350px;
}
#kuai{ height:175px; width:175px; background:#FC3; position:absolute; left:; top:; opacity:0.5; display:none;}
#max{ width:400px; height:400px; border:1px solid #ccc; position:absolute; left:400px; top:20px; overflow:hidden; display:none}
#max img{ position:absolute;}
$.fn.extend({
fang:function(){
var oSrc=$('<link rel="stylesheet" type="text/css" href="fang.css">')
$("head").eq(0).append(oSrc);
var $fang=$('<div id="min">'+
'<img src="'+$(this).attr("src")+'"/>'+
'<div id="kuai"></div>'+
'</div>'+
'<div id="max">'+
'<img src="'+$(this).attr("src")+'"/>'+
'</div>');
$(this).before($fang);
$(this).remove();
$("#min").hover(function (){
$("#kuai").show();
$("#max").show();
},function (){
$("#kuai").hide();
$("#max").hide();
});
$("#min").mousemove(function (event){
var disX=event.pageX-$("#min").offset().left-$("#kuai").width()/2;
var disY=event.pageY-$("#min").offset().top-$("#kuai").height()/2;
var maxWidth=$("#min").width()-$("#kuai").width();
var maxHeight=$("#min").height()-$("#kuai").height();
if (disX<=0){
disX=0;
}
else if (disX>maxWidth){
disX=maxWidth;
}
if (disY<=0){
disY=0;
}
else if(disY>maxHeight){
disY=maxHeight;
}
$("#kuai").css({
left:disX,
top:disY
});
// 10/100
var scaleL=disX/maxWidth;
var scaleT=disY/maxHeight;
$("#max img").css({
left:-scaleL*($("#max img").width()-$("#max").width()),
top:-scaleT*($("#max img").height()-$("#max").height())
});
});
}
})
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="jquery1.9.1.js"></script>
<script type="text/javascript" src="fang.js"></script>
<script>
$(function (){
$(".oImg").fang();
});
</script>
</head>
<body>
<img src="max.jpg" class="oImg"/>
</body>
</html>
封装jQuery插件的步骤的更多相关文章
- jQuery插件编写步骤详解
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
- 封装jquery插件
最近要到使用别的jquery插件,但部分功能并不能满足,为满足功能,只能对插件进行修改来满足,要修改插件,先要了解插件如何封装, 明白了如何封装插件,才能更好修改插件:如何封装插件? 1.插件封装类型 ...
- 封装jQuery插件实现TAB切换
先上效果图: 直接上代码: index.html <!DOCTYPE html> <html lang="en"> <head> <met ...
- angular封装jquery插件(组件)
http://www.phloxblog.in/jquery-plugin-angular-js-directive-clean-html-approach/#.VaCWL9yUemJ
- jquery插件封装
HTML <!DOCTYPE html> <html> <head> <title></title> <style> .page ...
- 简易jQuery插件
之前写过jQuery插件的笔记 如何用jQuery封装插件 我一直觉得前面讲了一大堆闭包和三种插件封装模式有点冗余,那篇笔记我直到记录到后面才发现这事情很简单,想来想去还是觉得网上的一些文章把事情搞复 ...
- 什么?你还不会写JQuery 插件
前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论 ...
- 写JQuery 插件 什么?你还不会写JQuery 插件
http://www.cnblogs.com/Leo_wl/p/3409083.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui ...
- 写jQuery插件
如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jq ...
随机推荐
- 关于Storyboard
界面的搭建器IB有两种 1.stroyboard (不仅可以搭建界面 并且可以实现界面之间的关系) 2.xib (只能是单个视图或者界面) 如何配置自己创建的storyboard 1.infoPlis ...
- 计算UILabel的高度
//计算文本高度 NSString *lltxt =[[NSString alloc]initWithFormat:@"浏览:%@",[strJson objectForKey:@ ...
- java web 之 WebRoot和WebContent目录
WebRoot和WebContent都是程序的根文件夹,无本质区别,一下是两者的共同点和不同点: 共同点:都有一个WEB-INF文件夹,其下文件不可直接访问: WEB-INF是安全目录,所谓安全,就是 ...
- P - A + B(第二季水)
Description 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. ...
- gdb零散学习心得。
引用: 记录学习心得.未来将统一整理. 一.基础知识 1:细节整理. 1,启动GDB的前置要求. 1)使用gcc/g++时,添加-g的指令.例如:g++ -g test.cpp -o test 2)如 ...
- 使用mysqlbinlog工具进行基于位置或时间点的数据恢复
使用mysqlbinlog工具进行基于位置或时间点的恢复 MySQL备份一般采取全备份加日志备份的方式,比如每天执行一次全备份,每小时执行一次二进制日志备份.这样在MySQL Server故障后可以使 ...
- flask-sqlalchemy 关系表简单操作
from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyfrom flask.ext.migrate import Migr ...
- SQL Server 造成cpu 使用率高的 6 原因
第一种: 编译和重编译执行计划. 第二种: 排序与聚合. 第三种: 表格连接操作. 第四种: max degree of parallelism. 第五种: max worker threads. 第 ...
- webpack图片的路径与打包
转的http://www.cnblogs.com/ghost-xyx/p/5812902.html 今天写 react遇到打包图片,之前都是通过url在css里,没遇到问题,今天在 react里直接用 ...
- logstash 处理多行
2.2.2 多行事件编码: zjtest7-frontend:/usr/local/logstash-2.3.4/bin# ./plugin list | grep multi Ignoring ff ...