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转义字符介绍
Nov 05 Javascript
jQuery遍历对象、数组、集合实例
Nov 08 Javascript
jQuery制作简单柱状图实例
Jan 28 Javascript
浅析JavaScript事件和方法
Feb 28 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
详解JavaScript对象序列化
Jan 19 Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 Javascript
微信小程序开发(一) 微信登录流程详解
Jan 11 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
Feb 23 Javascript
webpack v4 从dev到prd的方法
Apr 02 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 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 各种排序算法实现代码
2009/08/20 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python3判断url链接是否为404的方法
2018/08/10 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
《狼》教学反思
2014/03/02 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
公积金接收函格式
2015/01/30 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle
JS setTimeout与setInterval的区别
2022/04/20 Javascript