<!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>
<script type="text/javascript">
window.onload=function(){
var display = document.getElementById('display');
var _wheelDelta=0,upcheck=-1;
addScrollListener(display,wheelHandle);
}
function addScrollListener(element, wheelHandle) {
if(typeof element != 'object') return;
if(typeof wheelHandle != 'function') return;
// 监测浏览器
if(typeof arguments.callee.browser == 'undefined') {
var user = navigator.userAgent;
var b = {};
b.opera = user.indexOf("Opera") > -1 && typeof window.opera == "object";
b.khtml = (user.indexOf("KHTML") > -1 || user.indexOf("AppleWebKit") > -1 || user.indexOf("Konqueror") > -1) && !b.opera;
b.ie = user.indexOf("MSIE") > -1 && !b.opera;
b.gecko = user.indexOf("Gecko") > -1 && !b.khtml;
arguments.callee.browser = b;
}
if(element == window)
element = document;
if(arguments.callee.browser.ie)
element.attachEvent('onmousewheel', wheelHandle);
else
element.addEventListener(arguments.callee.browser.gecko ? 'DOMMouseScroll' : 'mousewheel', wheelHandle, false);
}
function getStyleValue(objname,stylename){
if(objname.currentStyle){
return objname.currentStyle[stylename]
}else if(window.getComputedStyle){
stylename = stylename.replace(/([A-Z])/g, "-$1").toLowerCase();
return window.getComputedStyle(objname, null).getPropertyValue(stylename);
//return window.getComputedStyle(objname , null)[stylename];
}
}
function wheelHandle(e) {
if(e.wheelDelta) {
//document.getElementById('display').innerHTML = (e.wheelDelta > 0 ? '上' : '下');
upcheck = e.wheelDelta >0 ? 1 : 0;
//_wheelDelta += e.wheelDelta/(-40);
} else {
//alert(e.detail);
upcheck = e.detail <0 ? 1 : 0;
//_wheelDelta +=e.detail;
}
showimg();
}
function showimg(){
var tmpobj = document.getElementById("showimg");
var width = parseInt(getStyleValue(tmpobj,'width'));
var height = parseInt(getStyleValue(tmpobj,'height'));
var i = width/height;// alert(i);
//alert( width + ' ' + height);
/*if(_wheelDelta<0){
if(width>=0){
tmpobj.style.height = (width + _wheelDelta*10) + 'px';
tmpobj.style.width = (height + _wheelDelta*10*i) + 'px';
}
}else{
if(width<=1024){
tmpobj.style.height = (width - _wheelDelta*10) + 'px';
tmpobj.style.width = (height - _wheelDelta*10*i) + 'px';
}
}*/
if(upcheck){
if(width<=1024){
tmpobj.style.height = (height + 30) + 'px';
tmpobj.style.width = (width + 30*i) + 'px';
}
}else{
if(width>=35){
tmpobj.style.height = (height - 30) + 'px';
tmpobj.style.width = (width - 30*i) + 'px';
}
}
}
/*var scrollfunc = function(event) {
var direct = 0;
if (event.wheelDelta) {
alert(wheelDelta);
//direct = event.wheelDelta > 0 ? 1 : -1;
} else if (event.detail) {
alert(event.detail);
//direct = event.detail < 0 ? 1 : -1;
}
};
Event.observe(document, 'mousewheel', scrollfunc);
Event.observe(document, 'DOMMouseScroll', scrollfunc);*/ //firefox
</script>
<style type="text/css">
*{padding:0;margin:0;}
img{border:none;}
#display{max-width:400px;max-height:512px;margin:30px auto;overflow:scroll;}
</style>
</head>
<body>
<div id="display"><img src="tupian.jpg" id="showimg" width="390" height="500" style="display:block;margin:auto;" /></div>
</body>
</html>
分享到:
相关推荐
js实现图片在div内滚轮放大缩小拖动,有滚动条,双击回原状,无插件,赠送网上搜罗的其他的一些图片放大缩小文件,在每个压缩包是一个,打开压缩包里的网页文件就可以看效果。本人的在“自己的.html”里,记事本打开...
在本文中,我们将深入探讨如何使用Flex技术来实现在网页中通过鼠标滚动来实现图片的放大缩小,并且确保每次缩放都是以鼠标当前位置为中心进行的。Flex是一种强大的前端开发框架,它允许开发者创建灵活的、响应式的...
DIV 滚动条样式详解 在 HTML 中,我们经常需要在 DIV 元素中添加滚动条,以便在内容超出 DIV 区域时,能够滚动查看内容。这篇文章将详细介绍如何使用 CSS 样式表来实现 DIV 滚动条的样式设置。 什么是 DIV 滚动条...
标题中的“DIV可移动 可实现任意拖动放大缩小”是指一种使用JavaScript技术来实现的交互功能,允许用户在网页上自由地拖动、缩放HTML中的div元素。这一功能通常用于创建用户界面元素,如窗口、面板或者任何需要动态...
本文将详细介绍如何使用JavaScript来实现通过鼠标滚轮控制图片缩放效果的方法,其中将涉及onmousewheel事件的使用以及JavaScript操作DOM来调整图片大小的技巧。 首先,我们应当理解onmousewheel事件。这是一个鼠标...
在JavaScript中,实现一个div元素随鼠标滚动条滚动的效果,主要涉及到两个关键概念:事件监听和CSS定位。这个效果常用于创建固定定位的侧边栏、头部导航等元素,即使页面滚动,它们仍然保持在视口中的特定位置。 ...
标题中的“JQuery 随鼠标滚动条滚动的div”是指使用JQuery库来实现一个功能,即当用户滚动页面时,某个特定的div元素会跟随滚动条一起移动。这个功能在网页设计中常见于侧边栏菜单、广告条或者固定导航栏等,目的是...
网页局部div随滚动条置顶滚动是一种常见的网页交互设计,常用于新闻网站、电商页面或者任何需要突出显示特定内容的场景。这种效果使得用户在滚动页面时,某个div元素(通常包含重要信息或导航)始终保持在视口顶部,...
关于如何使用JavaScript实现当鼠标滑动到指定的div区域内时禁止页面滚动的功能,这是一个在前端开发中可能会遇到的实际需求。通常这种需求是在特定的操作场景中为了提供更好的用户体验而提出的。例如,在一个产品...
本篇文章将详细讲解如何利用jQuery实现一个div元素的滚动条效果,以及涉及到的相关知识点。 首先,我们需要理解滚动条的基本概念。滚动条是当内容超出容器显示范围时出现的一种用户界面元素,允许用户查看或浏览不...
"控制图片左右滚动并带滚动条图片展示特效"是一种常见且实用的技术,它结合了jQuery库和CSS样式,使得图片展示更加动态且具有交互性。下面将详细解析这一特效的实现原理和关键知识点。 首先,jQuery是一个轻量级的...
在网页设计中,"div随滚动条上下滚动"是一种常见的动态效果,通常用于实现固定定位或者跟随滚动的视觉效果。这种效果可以通过JavaScript库jQuery和原生JavaScript来实现,以增加用户体验,使某些元素如导航栏、侧...
当需要控制div元素中的滚动条滚动到特定位置时,jQuery提供了一个简单易用的方法。本篇文章将深入探讨如何利用jQuery实现这一功能。 首先,我们需要了解几个基本概念: 1. **div**: 在HTML中,div(division)是一...
在网页设计中,div元素是常用的布局容器,而滚动条则是当内容超出div范围时,帮助用户浏览更多内容的重要交互工具。"div滚动条优化"这个主题主要关注如何在不牺牲滚动功能的前提下,通过CSS样式和JavaScript技术来...
总结来说,基于JQuery的图片放大缩小和拖动功能是通过监听鼠标和触摸事件,结合DOM操作和简单的数学计算来实现的。JQuery提供的便捷API使得这些功能的实现变得相对简单,极大地提高了开发效率。通过深入理解这些基本...
Div放大效果的javascript源码
滚动条的样式通过`.scrollDiv`类定义,这是一个宽度为6px的绝对定位的div,背景色为#666,具有圆角效果。这个div将用于模拟滚动条的滑块部分。由于滚动条通常出现在垂直方向,所以我们将它定位在主容器的右侧,通过...
"jQuery鼠标悬浮图片放大效果"就是一个很好的例子,它使得用户在浏览商品图片时能够更清楚地查看细节,从而增强购物体验。这个效果在电商网站如淘宝上广泛使用,今天我们将会详细探讨如何使用jQuery实现这一功能。 ...
2. `handleScroll()`: 处理滚动事件,根据滚动条的位置改变图片的大小或位置,实现滚动放大缩小的效果。 3. `handleDrag()`: 处理拖动事件,让用户能够通过拖动图片查看不同区域。 4. `handleZoom()`: 处理滚轮事件...
### 网页特效-图片特效-鼠标悬停图片放大效果 #### 一、概述 在现代网页设计中,为了提升用户体验与交互性,设计师们常常会加入各种动态效果,其中“鼠标悬停图片放大”是一项非常实用且常见的功能。通过CSS与HTML...