Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 523a46a

Browse filesBrowse files
committed
放大镜
1 parent 66b779b commit 523a46a
Copy full SHA for 523a46a

File tree

Expand file treeCollapse file tree

3 files changed

+120
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+120
-0
lines changed
Open diff view settings
Collapse file

‎放大镜特效/big.jpg‎

Copy file name to clipboard
50.5 KB
  • Display the source diff
  • Display the rich diff
Loading
Collapse file

‎放大镜特效/index.html‎

Copy file name to clipboard
+120Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<meta http-equiv="X-UA-Compatible" content="ie=edge">
7+
<title>放大镜特效</title>
8+
<style>
9+
* {
10+
margin: 0;
11+
padding: 0
12+
}
13+
#demo {
14+
display: block;
15+
width: 400px;
16+
height: 255px;
17+
margin: 50px;
18+
position: relative;
19+
border: 1px solid #ccc;
20+
}
21+
#small-box {
22+
position: relative;
23+
z-index: 1;
24+
}
25+
#float-box {
26+
display: none;
27+
width: 160px;
28+
height: 120px;
29+
position: absolute;
30+
background: #ffffcc;
31+
border: 1px solid #ccc;
32+
filter: alpha(opacity=50);
33+
opacity: 0.5;
34+
}
35+
#mark {
36+
position: absolute;
37+
display: block;
38+
width: 400px;
39+
height: 255px;
40+
background-color: #fff;
41+
filter: alpha(opacity=0);
42+
opacity: 0;
43+
z-index: 10;
44+
}
45+
#big-box {
46+
display: none;
47+
position: absolute;
48+
top: 0;
49+
left: 460px;
50+
width: 400px;
51+
height: 300px;
52+
overflow: hidden;
53+
border: 1px solid #ccc;
54+
z-index: 1;;
55+
}
56+
#big-box img {
57+
position: absolute;
58+
z-index: 5
59+
}
60+
</style>
61+
<script>
62+
//页面加载完毕后执行
63+
window.onload = function () {
64+
var objDemo = document.getElementById("demo");
65+
var objSmallBox = document.getElementById("small-box");
66+
var objMark = document.getElementById("mark");
67+
var objFloatBox = document.getElementById("float-box");
68+
var objBigBox = document.getElementById("big-box");
69+
var objBigBoxImage = objBigBox.getElementsByTagName("img")[0];
70+
//鼠标一如事件
71+
objMark.onmouseover = function () {
72+
objFloatBox.style.display = "block"
73+
objBigBox.style.display = "block"
74+
}
75+
//鼠标移出事件
76+
objMark.onmouseout = function () {
77+
objFloatBox.style.display = "none"
78+
objBigBox.style.display = "none"
79+
}
80+
//鼠标移动事件
81+
objMark.onmousemove = function (ev) {
82+
var _event = ev || window.event; //兼容多个浏览器的event参数模式
83+
var left = _event.clientX - objDemo.offsetLeft - objSmallBox.offsetLeft - objFloatBox.offsetWidth / 2;
84+
var top = _event.clientY - objDemo.offsetTop - objSmallBox.offsetTop - objFloatBox.offsetHeight / 2;
85+
if (left < 0) {
86+
left = 0;
87+
} else if (left > (objMark.offsetWidth - objFloatBox.offsetWidth)) {
88+
left = objMark.offsetWidth - objFloatBox.offsetWidth;
89+
}
90+
if (top < 0) {
91+
top = 0;
92+
} else if (top > (objMark.offsetHeight - objFloatBox.offsetHeight)) {
93+
top = objMark.offsetHeight - objFloatBox.offsetHeight;
94+
}
95+
objFloatBox.style.left = left + "px"; //oSmall.offsetLeft的值是相对什么而言
96+
objFloatBox.style.top = top + "px";
97+
var percentX = left / (objMark.offsetWidth - objFloatBox.offsetWidth);
98+
var percentY = top / (objMark.offsetHeight - objFloatBox.offsetHeight);
99+
objBigBoxImage.style.left = -percentX * (objBigBoxImage.offsetWidth - objBigBox.offsetWidth) + "px";
100+
objBigBoxImage.style.top = -percentY * (objBigBoxImage.offsetHeight - objBigBox.offsetHeight) + "px";
101+
}
102+
}
103+
</script>
104+
</head>
105+
<body>
106+
<div id="demo">
107+
<!-- 左边的小图 -->
108+
<div id="small-box">
109+
<div id="mark"></div>
110+
<!-- 放大镜 -->
111+
<div id="float-box"></div>
112+
<img src="small.jpg"/>
113+
</div>
114+
<!-- 显示的大图 -->
115+
<div id="big-box">
116+
<img src="big.jpg"/>
117+
</div>
118+
</div>
119+
</body>
120+
</html>
Collapse file

‎放大镜特效/small.jpg‎

Copy file name to clipboard
15 KB
  • Display the source diff
  • Display the rich diff
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.