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 自动转到命名锚记
Jan 10 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
Jan 28 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
Apr 12 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
JavaScript动态设置div的样式的方法
Dec 26 Javascript
jQuery插件ajaxfileupload.js实现上传文件
Oct 23 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
Sep 02 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 21 Javascript
Vue自定义指令写法与个人理解
Feb 09 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
Jun 17 Javascript
JS实现网站吸顶条
Jan 08 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
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
php制作简单模版引擎
2016/04/07 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
前端使用crypto.js进行加密的函数代码
2020/08/16 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
Python赋值语句后逗号的作用分析
2015/06/08 Python
python 实时遍历日志文件
2016/04/12 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
利用Python破解斗地主残局详解
2017/06/30 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
python 动态绘制爱心的示例
2020/09/27 Python
用python对oracle进行简单性能测试
2020/12/05 Python
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
explicit和implicit的含义
2012/11/15 面试题
Linux内核产生并发的原因
2012/07/13 面试题
警察群众路线整改措施
2014/09/26 职场文书
实习工作表现评语
2014/12/31 职场文书
微观世界观后感
2015/06/10 职场文书
小学生教师节广播稿
2015/08/19 职场文书