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 Event学习第七章 事件属性
Feb 07 Javascript
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
修改jQuery Validation里默认的验证方法
Feb 14 Javascript
js中符号转意问题示例探讨
Aug 19 Javascript
JS将秒换成时分秒实现代码
Sep 03 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
jquery及js实现动态加载js文件的方法
Jan 21 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
Apr 26 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
bootstrap实现动态进度条效果
Mar 08 Javascript
JSX在render函数中的应用详解
Sep 04 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
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
js关闭父窗口时关闭子窗口
2013/04/01 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
TensorFlow saver指定变量的存取
2018/03/10 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
python3字符串输出常见面试题总结
2020/12/01 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
.net C#面试题
2012/08/28 面试题
财务人员求职自荐书范文
2014/02/10 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
环保倡议书300字
2014/05/15 职场文书
2015年化验室工作总结
2015/04/23 职场文书
歌剧魅影观后感
2015/06/05 职场文书
运动会5000米加油稿
2015/07/21 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
Python jiaba库的使用详解
2021/11/23 Python
使用Java去实现超市会员管理系统
2022/03/18 Java/Android