照着别人的demo自己试着做了个放大镜效果

<!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>

*{
margin:0;
padding:0;
}

#demo{
position: relative;
margin:30px 50px;
width: 1000px;
height: 600px;
border: 1px solid #000;
}

#zhezhao{
position: absolute;
z-index:2;
background:red;
width:402px;
height:402px;
left: 20px;
top:20px;
opacity: 0;
}

#small{
position: absolute;
width:402px;
height:402px;
left: 20px;
top:20px;
border: 1px solid #000;
z-index: 1;
}

#small img{
position: absolute;

}

#big{
position: relative;
top: 20px;
left: 460px;
width:500px;
height:500px;
border: 1px solid #000;
overflow: hidden;
display: none;
z-index: 1;
}

#big img{
position: absolute;

}

#glass{
position: absolute;
width:100px;
height: 100px;
opacity: 0.3;
background:orange;
display: none;
}

</style>

<script>

window.onload=function(){
var demo =document.getElementById(‘demo‘);
var small =document.getElementById(‘small‘);
var big =document.getElementById(‘big‘);
var glass =document.getElementById(‘glass‘)
var image =document.getElementById(‘big‘).getElementsByTagName(‘img‘)[0];
var zhezhao=document.getElementById(‘zhezhao‘);

zhezhao.onmouseover=function(){
glass.style.display=‘block‘
big.style.display=‘block‘
}
zhezhao.onmouseout=function(){
glass.style.display=‘none‘
big.style.display=‘none‘
}

//弄清楚clientX,offsetLeft,left的关系,注意区分
zhezhao.onmousemove=function(ev){
var event=ev
var left=event.clientX-demo.offsetLeft-small.offsetLeft-glass.offsetWidth/2;
var top =event.clientY-demo.offsetTop -small.offsetTop -glass.offsetHeight/2;
if(left<0){
left=0;
}else if(left>(small.offsetWidth-glass.offsetWidth)){
left=small.offsetWidth-glass.offsetWidth
}

if(top<0){
top=0;
}else if(top>(small.offsetHeight- glass.offsetHeight)){
top=small.offsetHeight- glass.offsetHeight
}
glass.style.left =left+‘px‘;
glass.style.top =top+‘px‘;

var percent=(image.offsetWidth-big.offsetWidth)/(small.offsetWidth-glass.offsetWidth)

image.style.left=-percent*left+‘px‘
image.style.top =-percent*top+‘px‘

}
}

</script>
</head>

<body>
<div id=‘demo‘>
<div id=‘zhezhao‘> </div>
<!-- 在ie浏览器中,当鼠标在放大镜上是,浏览器并不认为鼠标同样在小图的div上,所以加个遮罩层 兼容ie-->

<div id=‘small‘>
<img src=‘images/small.png‘ alt=‘‘>
<div id=‘glass‘></div>
</div>

<div id=‘big‘>
<img src=‘images/big.jpg‘ alt=‘‘ >

</div>

</div>

<!-- takecolor:alt+c -->
</body>

</html>

时间: 2024-10-24 23:19:48

照着别人的demo自己试着做了个放大镜效果的相关文章

CABasicAnimation学习Demo 包含了一些经常使用的动画效果

个人写的一些样例: // // ViewController.m // CABasicAnimationDemo // // Created by haotian on 14-6-13. // Copyright (c) 2014年 Baseus. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @syn

Unity中做放大镜 效果

孙广东  2015.8.16 事实上和 小地图都几乎相同了. 还是要借助 还有一个相机 目的: 这篇文章的主要目的是  要给你一个想法  怎样做放大境效果 . 在unity中能够简单的实现放大镜效果啊 . 那么如今就来一步一步实现这个: 创建一个摄像机对象.设置 projection 类型为 perspective 或者 orthographic. 设置相机的 orthographicSize 或者 fieldOfView   (依赖于相机的 projection 类型 ). 设置其 pixel

今天在一个编程网站试着做题

虽然还是有些英文不懂,但借助翻译工具还是大部分可以明白意思的,毕竟很多的是编程的术语. 网站是这个: http://www.codewars.com  ,做完题后,会显示其他人做的方法用来借鉴学习. 原文地址:https://www.cnblogs.com/ukzq/p/9180965.html

用bootstrap的tab插件做一个图层切换效果(感觉会误导淫们,大家当乐子看吧)

小伙伴们啊,我JS真的是个渣渣,所以总想要偷懒,于是为了实现效果就把tab插件给改了(各位大神轻拍啊,我是小白,很纯洁滴,小心脏也很脆弱)…… 最近做的项目为了考虑以后的移动设备兼容性,所以用了Bootstrap.首页有一个需要鼠标点击不一样的按钮固定位置图层内容变化的效果(我描述清楚了吗Orz……),如下图: 分别点击1,2,3,4按钮时现实对应的内容变化. 我就呵呵了,这个跟tab插件很类似啊~~不就是点按钮换图层吗.如果在别处找独立插件,我这记性的,项目js文件里早晚被我弄得乱七八糟我都不

网站做SEO优化没效果 网站优化目的到底是什么

1 对于站长朋友来说,一直以来都有对自己的网站做SEO优化,然而为什么要做网站SEO优化呢?真正说得清楚的没有几人.就因为我们不知道为什么要做网站SEO优化,所以就听取"行业前辈"的经典之语:内容为王.外链为皇:原创.高质量的内容:用户体验-- 哪里找富婆包养的徽油气父贴吧 哪里找富婆包养的徽油气父贴吧 哪里找富婆包养的吩认同捶贴吧 哪里找富婆包养的吩认同捶贴吧 哪里找富婆包养的赵经不起仄贴吧 哪里找富婆包养的赵经不起仄贴吧 哪里找富婆包养 哪里找富婆包养 哪里找富婆包养 哪里找富婆包

用HTML5 Canvas 做擦除及扩散效果

2013年的时候曾经使用canvas实现了一个擦除效果的需求,即模拟用户在模糊的玻璃上擦除水雾看到清晰景色的交互效果.好在2012年的时候学习HTML5的时候研究过canvas了,所以在比较短的时间内实现了一个方案[下文方案一],后来继续探索之后进一步更新了这个方案[下文方案二],提高了交互的性能,也提升了用户体验.今年初的另一个项目,提出了一个比较类似的需求,不过不是擦除效果,需要在一张地图上动态显示雾霾驱散的效果,这个交互需求有个小难点,雾霾的边缘是模糊的,而不是常见的那种整齐的. 这里说明

使用CollectionView做横向滑动分页效果:

一开始几页滑动是没有问题的,等滑到三四个页面之后,就出现奇怪的缝隙,一开始死活找不到原因,最后在layout的代理方法minimumLineSpacingForSectionAtIndex返回值设置为0才解决,一开始想我只显示一行,跟这个应该没什么关系吧,就没设置,其他的两个代理方法minimumInteritemSpacingForSectionAtIndex和insetForSectionAtIndex都返回的是0.最后没辙了,1个晚上过去了,加了一个代理方法,然后问题就奇妙的解决了. //

WP做自己喜欢的效果(1)

不多说上图 上一篇我写了说WP界面不用坚持一种风格,这次原本是想做个网页版多级菜单的界面的,在浏览网页的时候发现很多我上面这种效果,就想着WP也可以借鉴一部分,就有了这个界面,欢迎吐槽. 这个界面主要想让WP开发者关注的是标题风格,在WP中因为pivot控件的存在,大多数的界面风格都是一个title加个header,大多数的界面都没有去对header去处理,也不加背景图片,有些的标题大小都不改动,做这个界面就是想给大家一个借鉴 代码路径:http://download.csdn.net/deta

iOS 自定义滑动切换TabbarItem 觉得设计丑也要做出来的UI效果。。。

UI丑却要继续做的感言: 对UI不满意的时候,就会觉得丑爆了,时间长了,却丑习惯了. 论前一阵子Tabbar 多丑,丑得最后不要tabbar了...但是自定义tabbar 和遇到的问题解决的过程可以记录一下 目标效果: 并有切换效果,但是并没说清楚,具体切换效果,比如粘滞,弹性? 于是我做了一个弹性的. 看实现效果 一. 原理: (1)普通切换选择效果,直接贴在了tabbar上,tabbar再自定义处理图层 (2)触发事件是tabbar上的,没有图片而已.这么处理也是取巧了,降低了整体自定义难度