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的构造函数和constructor属性
Jan 09 Javascript
JavaScript入门之对象与JSON详解
Oct 21 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
Sep 16 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
javascript实现根据时间段显示问候语的方法
Jun 18 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 Javascript
js实现文本框输入文字个数限制代码
Dec 25 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
JavaScript之Date_动力节点Java学院整理
Jun 28 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
php使用Swoole实现毫秒级定时任务的方法
2020/09/04 PHP
js中关于String对象的replace使用详解
2011/05/24 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
python使用循环实现批量创建文件夹示例
2014/03/25 Python
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
python保存字符串到文件的方法
2015/07/01 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python数据操作方法封装类实例
2017/06/23 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
python得到windows自启动列表的方法
2018/10/14 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
python递归法解决棋盘分割问题
2019/07/17 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
python dumps和loads区别详解
2020/02/04 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
中国高端家电购物商城:顺电
2018/03/04 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
2014年初三班主任工作总结
2014/12/05 职场文书
销售经理工作检讨书
2015/02/19 职场文书
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
Linux安装Docker详细教程
2022/07/07 Servers
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript