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 相关文章推荐
JS IE和FF兼容性问题汇总
Feb 09 Javascript
javascript内存管理详细解析
Nov 11 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
window.onload追加函数使用示例
Mar 03 Javascript
总结Javascript中数组各种去重的方法
Oct 04 Javascript
jquery css实现邮箱自动补全
Nov 14 Javascript
Vue.js第四天学习笔记
Dec 02 Javascript
jQuery中值得注意的trigger方法浅析
Dec 12 Javascript
js实现五星评价功能
Mar 08 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 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二分法在IP地址查询中的应用
2008/08/12 PHP
laravel解决迁移文件一次删除创建字段报错的问题
2019/10/24 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Python中base64与xml取值结合问题
2019/12/22 Python
Python 中的pygame安装与配置教程详解
2020/02/10 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
python openpyxl模块的使用详解
2021/02/25 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
《美丽的公鸡》教学反思
2014/02/25 职场文书
岗位职责风险点
2014/03/12 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
低碳生活倡议书
2014/04/14 职场文书
施工协议书范本
2014/04/22 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
数学教师求职信范文
2015/03/20 职场文书
班主任开场白
2015/06/01 职场文书