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 相关文章推荐
jquery 图片截取工具jquery.imagecropper.js
Apr 09 Javascript
JS定时关闭窗口的实例
May 22 Javascript
js innerHTML 改变div内容的方法
Aug 03 Javascript
php与js的区别是什么
Aug 05 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
JavaScript的String字符串对象常用操作总结
May 26 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
解决vue的 v-for 循环中图片加载路径问题
Sep 03 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
JavaScript实现的九种排序算法
Mar 04 Javascript
react合成事件与原生事件的相关理解
May 13 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目录操作函数之获取目录与文件的类型
2010/12/29 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[19:15]DK战队纪录片
2014/09/02 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
横向对比分析Python解析XML的四种方式
2016/03/30 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python对文件的操作方法汇总
2020/02/28 Python
python如何保存文本文件
2020/06/07 Python
汽车销售求职自荐信
2013/10/01 职场文书
质检员的岗位职责
2013/11/15 职场文书
审计主管岗位职责
2014/01/31 职场文书
新法人代表任命书
2014/06/06 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
检讨书怎么写?
2019/06/21 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers