`
gaoke
  • 浏览: 86763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript 图片缩放 响应鼠标滚动 和 上下方向键

    博客分类:
  • JS
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   
    <title>查看图片</title>
   
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
   
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script language="JavaScript">
function zoomimg(img,upOrDown){
   //img.style.zoom获取img对象的缩放比例,并转为十进制整数
   var zoom = parseInt(img.style.zoom,10);
   if (isNaN(zoom)){ //当zoom非数字时zoom默认为100%
   zoom = 100;
   }
   //event.wheelDelta滚轮移动量上移+120,下移-120或者按上下方向键,显示比例每次增减10%
   if(event.wheelDelta != 0){
    zoom += event.wheelDelta / 12;
   }else if("up" == upOrDown){
    zoom += 10;
   }else if("down" == upOrDown){
    zoom += -10;
   }
   //当zoom大于10%时重新设置显示比例
   if (zoom>10) img.style.zoom = zoom + "%";
   return false;
}
</script>
<style   type="text/css">  
.drag{position:relative;cursor:hand}  
</style>

<script   language="javascript">  
//初始化页面图片
function init()
{
var url=location.href;
var num=url.indexOf("?")
var picUrl = url.substr(num+1);
document.getElementById("pic").src = picUrl;
listenKey();
}
//注册事件监听键盘上下方向键
function getKey(e){
e = e || window.event;
var keycode = e.which ? e.which : e.keyCode;
var pic = document.getElementById("pic");
if(keycode == 38){ //如果按的是上方向键
   zoomimg(pic,"up");
}else if(keycode == 40){//如果按的是下方向键
   zoomimg(pic,"down");
}
}
// 把keydown事件绑定到document中
function listenKey() {
if (document.addEventListener) { //FF
   document.addEventListener("keydown",getKey,false);
} else if (document.attachEvent) { //IE
   document.attachEvent("onkeydown",getKey);
} else {
   document.onkeydown = getKey;
}
}

var   dragapproved   =   false;  
var   z,x,y  
function   move()  
{  
if(event.button==1&&dragapproved)  
{  
z.style.pixelLeft=temp1+event.clientX-x  
z.style.pixelTop   =   temp2+event.clientY-y  
return   false;  
}  
}  
function   drags()  
{  
if(!document.all)  
return  
if(event.srcElement.className=="drag")  
{  
dragapproved   =   true  
z=event.srcElement;  
temp1=z.style.pixelLeft  
temp2=z.style.pixelTop  
x=event.clientX  
y=event.clientY  
document.onmousemove=move  
}  
}  
document.onmousedown=drags  
document.onmouseup=new   Function("dragapproved=false")  
</script>
<style>
   table {
   table-layout: fixed;
   word-wrap:break-word;
   }
   div {
   word-wrap:break-word;
   }
</style>
</head>

<body onload="init()">
<img id="pic" onmousewheel="return zoomimg(this);" src="" name="img" alt="Image" class="drag">
</body>
</html>
分享到:
评论

相关推荐

    js仿Discuz弹出图片随鼠标滚动放大缩小代码

    在JavaScript编程领域中,"js仿Discuz弹出图片随鼠标滚动放大缩小代码"是一个常见的需求,主要用于增强网站用户体验,特别是在论坛或者社区类网站中。这个功能允许用户在查看图片时,通过简单的交互操作实现图片的...

    鼠标滚轮切换图片js特效.zip

    当用户滚动鼠标滚轮或按下键盘的左、右箭头键时,JavaScript监听到这些事件,并根据事件触发相应的函数。这些函数负责图片的切换,包括加载新的图片、淡入淡出效果、图片位置调整等。这种效果通常用于图片相册或展示...

    图片放大缩放

    3. **图片鼠标滚动缩放**:这是另一种常见的交互方式,允许用户通过滚动鼠标滚轮来放大或缩小图片。这需要编程技术,例如JavaScript事件监听器来捕捉鼠标的滚动事件,并根据滚动方向调整图片的CSS属性,如`transform...

    左右滚动图片且支持放大效果

    3. **响应式设计**:为了确保在不同设备和屏幕尺寸上的良好体验,图片轮播需要具备响应式设计。这可以通过媒体查询(`media queries`)和百分比布局来实现,使得图片能在手机、平板和桌面等不同设备上适配显示。 4. *...

    JS图片滚动代码(无缝、平滑).rar

    5. **事件监听**:为了让用户能够手动控制图片滚动,可以监听鼠标滚轮、箭头键或者触摸滑动等事件。根据不同的事件,调整定时器的执行或直接改变图片位置。 6. **响应式设计**:考虑到网页可能在不同设备和屏幕尺寸...

    基于jquery实现鼠标滚轮驱动的图片切换效果

    在本例中,名为imageflow.js的文件是核心代码的存放位置,它包括了监听鼠标滚轮事件、响应键盘方向键、点击事件处理以及进度条和滑块的动画效果等功能的实现逻辑。 通过监听鼠标的滚轮事件,当用户滚动滚轮时,...

    动态加载图片相册.zip

    描述中提到支持使用键盘方向键翻页,这意味着JavaScript需要监听键盘事件,并根据按键改变当前显示的图片。同样,如果点击图片,也需要有相应的事件处理函数来切换图片。 5. **弹框展示**: 图片点击后弹出的全屏...

    picture-browser:插入 JavaScript 应用程序以查看网站中的图像集

    4. 图片缩放与旋转:JavaScript可以监听用户的鼠标或触摸事件,实现图片的缩放和旋转功能。通过计算鼠标或手指的位置,调整图片的CSS属性,如`transform: scale()`和`transform: rotate()`,实现图片大小和角度的...

    图片轮播,轮播

    5. **响应式设计**:随着移动设备的普及,图片轮播应具有响应式布局,适应不同屏幕尺寸和设备方向。这需要考虑图片的自适应缩放、布局调整以及触摸手势的支持。 6. **性能优化**: - **懒加载**:只加载可视区域内...

    lightbox2 集成放大缩小、旋转

    3. **左右导航**:在预览模式下,用户可以轻松浏览同一组内的其他图片,通过点击侧边箭头或使用键盘方向键切换。 4. **图片旋转**:虽然Lightbox2原生不支持图片旋转,但可以通过扩展其功能或使用其他JavaScript库...

    程序员表白神器(3D花瓣带动效字)

    在这个项目中,JavaScript扮演了关键角色,它不仅可能用于监听用户事件,如键盘输入或鼠标点击,还可能控制花瓣飘落的速度、方向以及何时开始和结束动画。通过JavaScript,程序员可以实现更复杂的行为,如根据用户...

    Js事件大全

    - **描述**:浏览器窗口移动、缩放、滚动和停止加载事件。 - **支持浏览器**:IE+, Netscape4+, Opera(`onMove`, `onResize`, `onScroll`);IE5+, Netscape, Opera(`onStop`) - **应用场景**:响应式布局调整,...

    40个非常酷的CSS3动画演示

    3. **方向键控制的3D盒子**:利用键盘事件和3D转换,让3D盒子跟随用户输入转动。 4. **3D盒子滑入/滑出**:通过CSS3的动画和3D转换,实现3D元素的动态显示和隐藏。 5. **CSS3折叠**:元素能够平滑地展开或折叠,增加...

    Jquery特效大全

    FancyZoom 是一个用于创建美观的图片缩放效果的插件。它可能支持多种触发方式和自定义选项。 **3.22 Jcrop** Jcrop 是一个用于创建图像裁剪功能的 jQuery 插件。它可以用于在前端实现图片的裁剪和调整大小等功能。...

    js图片层叠布局旋转木马特效特效代码

    2. **JavaScript/jQuery**: JavaScript是实现交互逻辑的关键,它可以监听用户事件(如鼠标点击、触摸滑动),根据这些事件更新图片的位置和状态。jQuery库则简化了DOM操作和事件处理,让代码更加简洁高效。 3. **...

    傲游浏览器3(Maxthon) 3.1.8.1000 正式版

    可以使用左右方向键进行翻页, 使用上下方向键进行滚屏. [超级截图] 为气泡添加了白色背景. 文字框可以拖动. 放大镜坐标改成截图尺寸. 傲游3.1.2.1000正式版重要更新: 英文拼写检查 英文拼写检查可以在你输入过程...

Global site tag (gtag.js) - Google Analytics