jquery 图片缩放拖动的简单实例


Posted in Javascript onJanuary 08, 2014

一、不使用jquery,简单的缩放:

<HTML> 
<HEAD> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<TITLE>onMouseWheel</TITLE> 
<SCRIPT> 
var count = 10; 
function Picture() 
{ 
count = Counting(count); 
Resize(count); 
return false; 
} 
function Counting(count){ 
if (event.wheelDelta >= 120) 
count++; 
else if (event.wheelDelta <= -120) 
count--; 
return count; 
} 
function Resize(count){ 
oImage.style.zoom = count + '0%'; 
oCounter.innerText = count + '0%'; 
} 
</SCRIPT> 
</HEAD> 
<BODY> 
<div align=center> 
<span style="font-weight:bold">Size = 
<span id="oCounter" style="color:red;">100%</span></span> 
<img id="oImage" src="images/aaa.gif" onmousewheel="return Picture();" > 
</div> 
</BODY> 
</HTML>

一、使用jquery,实现缩放和拖动:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>
    <style type="text/css">
        #imgBox
        {
            width: 200px;
            height: 200px;
            background: red;
            overflow: hidden;
            margin: auto;
            position: relative;
        }
        #imgMain
        {
            position: relative;
            top: -200px;
        }
    </style>
    <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
    <script type="text/javascript" language="javascript">
        $(function () {
            var event;
            if ($.browser.mozilla) {
                event = "DOMMouseScroll";
            }
            else {
                event = "mousewheel";
            }
            $("#divBlock").bind(event,
        function (e) {
            var evt = window.event || e;
            var newWidth;
            var newHeight;
            var newLeft;
            var newTop;
            var overHeight = $("#divBlock").height();
            if (evt.detail > 0 || evt.wheelDelta < 0) {
                newWidth = $("#imgMain").width() - 20;
                newHeight = $("#imgMain").height() - 20;
                newLeft = $("#imgMain").position().left + 10;
                newTop = $("#imgMain").position().top + 10 - overHeight;
            }
            else {
                newWidth = $("#imgMain").width() + 20;
                newHeight = $("#imgMain").height() + 20;
                newLeft = $("#imgMain").position().left - 10;
                newTop = $("#imgMain").position().top - 10 - overHeight;
            }
            $("#imgMain").css({ left: newLeft + "px", top: newTop + "px" });
            $("#imgMain").width(newWidth);
            $("#imgMain").height(newHeight);
        }
        );
            $("#divBlock").bind("mousedown", function (e) {
                var xo = e.pageX;
                var yo = e.pageY;
                var imgLeft = $("#imgMain").position().left;
                var imgTop = $("#imgMain").position().top;
                var overHeight = $("#divBlock").height();
                $("#divBlock").bind("mousemove", function (e) {
                    window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
                    var x = e.pageX;
                    var y = e.pageY;
                    var bX = $("#imgBox").offset().left;
                    var bY = $("#imgBox").offset().top;
                    $("#imgMain").css("left", x - bX - (xo - bX) + imgLeft);
                    $("#imgMain").css("top", y - bY - (yo - bY) - overHeight + imgTop);
                });
            });
            $("#divBlock").bind("mouseup mouseout", function () {
                $("#divBlock").unbind("mousemove");
            });
        });
    </script>
</head>
<body>
    <div id="imgBox">
        <div style="width: 200px; height: 200px; cursor: pointer; position: relative; left: 0;
            top: 0; filter: alpha(opacity=0); opacity: 0; -moz-opacity: 0; background: blue;
            z-index: 999;" id="divBlock">
        </div>
        <img src="test.jpg" width="200" height="200" alt="" id="imgMain" />
    </div>
</body>
</html>
Javascript 相关文章推荐
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
Jun 29 Javascript
全面解析bootstrap格子布局
May 22 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
Jul 12 Javascript
详解AngularJS中的表单验证(推荐)
Nov 17 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
Nov 30 Javascript
说说AngularJS中的$parse和$eval的用法
Sep 14 Javascript
Vue表单输入绑定的示例代码
Nov 01 Javascript
vue打包之后生成一个配置文件修改接口的方法
Dec 09 Javascript
微信小程序webview实现长按点击识别二维码功能示例
Jan 24 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
Feb 11 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
May 09 Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 Javascript
document.execCommand()的用法小结
Jan 08 #Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 #Javascript
js字符串转换成数字与数字转换成字符串的实现方法
Jan 08 #Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 #Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 #Javascript
jquery实现非叠加式的搜索框提示效果
Jan 07 #Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
Jan 07 #Javascript
You might like
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
用PHP实现图象锐化代码
2007/06/14 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
javascript中 try catch用法
2015/08/16 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
vue3.0 上手体验
2020/09/21 Javascript
详解Python中的循环语句的用法
2015/04/09 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
书法社团活动总结
2015/05/07 职场文书
初中英语教学随笔
2015/08/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
初中政治教师教学反思
2016/02/23 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
Java tomcat手动配置servlet详解
2021/11/27 Java/Android