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的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
json字符串之间的相互转换示例代码
Aug 21 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
Dec 08 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
详谈jQuery.load()和Jsp的include的区别
Apr 12 jQuery
BootStrap模态框不垂直居中的解决方法
Oct 19 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
Element中Slider滑块的具体使用
Jul 29 Javascript
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
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 版本]
2007/03/20 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
PHP图片加水印实现方法
2016/05/06 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
PDO::quote讲解
2019/01/29 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
资源工程专业毕业生求职信
2014/02/27 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
物理学专业自荐信
2014/06/11 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
2014年教务处工作总结
2014/12/03 职场文书
学校运动会开幕词
2016/03/03 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers