基于jquery的鼠标滚动放大缩小图片

一直以来都想写一个图片放大和缩小的小玩意,本来以为会很复杂,这几天自己思考了一下,原来是so easy啊。目前实现的放大缩小,主要时依据鼠标的滚轮触发事件来实现的,废话少说直接上源码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>图片放大缩小</title>

<style type="text/css">

*{

margin:0; padding:0;

}

body {

width:100%; height:100%; overflow:auto;

}

#img {

display:block;

width:20%;

margin:20px auto;

cursor:-webkit-zoom-in;

cursor:-moz-zoom-in;

border:4px solid #ccc;

}

</style>

<script src="./jquery/jquery-1.8.3.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

var img=$("#img");

var i=0;

img.bind(‘DOMMouseScroll mousewheel function(e) {

var ev=window.event||e;//处理浏览器兼容性问题

var scrollUnit=Math.max(-1,Math.min(1,(ev.wheelDelta||-ev.detail)));

var newWith=Math.max(100,Math.min(1600,parseInt(img.css("width"))+(30*scrollUnit)))+"px";

img.css("width",newWith);

console.log(i++);

console.log(img.css("width"));

});

});

</script>

</head>

<body>

<img id="img" src="images/drag.jpg"/>

</body>

</html>

针对源码,做几点说明和补充:

1,ev.wheelDelta和ev.detail

ev.wheelDelta, 除出火狐外的浏览器IE,chrome,Opera、Safari基本支持属性,该属性取值为+,-,120;

ev.detail,为火狐特有的事件属性,取值+,-3;

2,Math.min,Math.max

这个地方的取最大值和最小值,最好自己琢磨一下,稍微有一个绕。

3,放大缩小的倍数和最值问题

1和-1控制缩小和放大速率,绝对值越大缩放效果越明显。

100,1600,分别为缩小的最小值和放大的最大值。

基本就这么多了,欢迎大家提出宝贵建议和想法。

基于jquery的鼠标滚动放大缩小图片,布布扣,bubuko.com

时间: 2024-10-26 15:01:48

基于jquery的鼠标滚动放大缩小图片的相关文章

基于jQuery CSS3鼠标点击动画效果

分享基于jQuery CSS3鼠标点击动画效果支持图片或内容滑动,允许设置动画延迟效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <div class="clearfix"> <div class="grid12 small12"> <div class="demos fl" id="demos&quo

基于jQuery点击淡入淡出显示图片特效

分享一款基于jQuery点击淡入淡出显示图片特效.这是一款基于jQuery+CSS3实现酷炫效果的图片切换特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <center><p style="color:#334960">点击图标进行展示</p></center> <div class="main"> <div id="coolShow"><

Android多点触摸交互处理,放大缩小图片

多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术.与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见的就是银行里的ATM机和排队查询机等等. 多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能.比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小.再比如一些浏览器,也可以通过多点触摸放大或者缩小字体.其实放大缩小也只是多点触摸的实际应用样例之一,有了多点触摸技术,在一定

基于jQuery带进度条全屏图片轮播代码

基于jQuery带进度条全屏图片轮播代码.这是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="pic"> <ul> <li style="background: url(images/bg1.jpg) center;"> <img src="images/con1.png"> <

Android多点触摸放大缩小图片

1.Activity package com.fit.touchimage; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.graphics.PointF; import android.os.Bundle; import android.util.F

基于jQuery向下弹出遮罩图片相册

今天给大家分享一款基于jQuery向下弹出遮罩图片相册.单击相册图片时,一个遮罩层从上到下动画出现.然后弹出显示图片.这款插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 在线预览   源码下载 实现的代码. html代码: <center> <h1> 点击图片查看效果</h1> </center> <br> <br> <div id='container'>

基于jQuery左侧小图滚动右侧大图显示代码

今天给大家分享一款 jQuery左侧小图滚动右侧大图显示代码是一款基于jQuery实现的左侧滚动图片点击大图查看效果代码.该实例适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="caseImg03 w1002"> <div class="slideCase03"> <div class=&q

图片 滚动 放大缩小 旋转

需求就是页面浏览一张图片,要求提供放大.缩小.旋转的功能 这里实现的方式是使用jquery的一个iviewer插件 具体实现方式已经提供在下载包中,下载链接: 如果失效请联系QQ:1546224081,或者QQ:2651408273 ps几点: 1,使用文件前,做好相应css和js的映射. 2,mousewheel是iviewer-master的简介版. 3,更改mousewheel图表时,记得要更改jquery.iviewer.css的中的最后两行,以及相应的路径. 4,两个demo我都放在了

鼠标滚动放大小缩小实现(火狐不兼容,还不知道怎么解决)

<script type="text/javascript"> function bigimg(i){ var zoom = parseInt(i.style.zoom,10)||100; zoom += event.wheelDelta / 12; if(zoom > 0 ) i.style.zoom=zoom+'%'; return false; } </script> <center> <a href="http://ww