http://www.liyi99.com/giftview6185.html
是两张一大一小的照片还是就一张照片啊?
讲原理就好了,代码简练啊?别人的代码太复杂了
是两张一大一小的照片还是就一张照片啊?
讲原理就好了,代码简练啊?别人的代码太复杂了
解决方案 »
- 如何用JQuery实现网页DIV拖动跟其他DIV互换位置
- 怎么提取一个网站的js菜单
- 【分享】收集的一些工具方法,懒得学第三方JS库,拿这个凑活,前楼有分
- 在线编辑器
- 字符串1=“,1,2,3,4,6,4,0,” 字符串2=“,2,4,0” 如何去除去除字符串1里面的“2,4,0”,凡是带包括2,4,0都去掉,并去掉后面的逗号??
- 框架页面更改大小后,页面内的元素尺寸如何自适应页面?
- 一牛人抢注赠台大熊猫域名,价值80万,厉害吧?
- 关于jquery回调函数不执行的问题
- 如何限制文本框只能输入数字(包括小数点),而且限制长度
- 如何在js中调用asp或 jsp的程序?
- 谁给个json的例子啊,完整点的小应用阿
- 帮我分析下代码谢谢
1.<html xmlns="http://www.w3.org/1999/xhtml">
2.<head>
3.<title>JS+CSS实现图片放大预览效果(js图片放大预览鼠标滑过的任意位置)_365CSS.CN</title>
4.<script language="JavaScript">
5.<!--
6.var srcX = 1024; //原图大小,可以任意设置
7.var srcY = 768;
8.var bigX = 300; //预览窗大小,可以任意设置
9.var bigY = 225;
10.var smallX = 300; //缩略图宽度
11.var smallY = srcY * smallX / srcX;
12.var viewX = bigX / srcX * smallX; //预览范围
13.var viewY = bigY / srcY * smallY;
14.var bl = srcX / smallX;//缩小比例
15.var border = 1; //边框
16.window.onload=function (){
17. head.innerHTML="JS+CSS实现图片放大预览效果,鼠标可以滑动图片任意地方";
18. smallpic.width=smallX;
19. smallpic.height=smallY;
20. bigpic.width=srcX;
21. bigpic.height=srcY;
22. view.style.width=viewX;
23. view.style.height=viewY;
24. smallbox.style.borderWidth=border;
25. bigbox.style.borderWidth=border;
26. if (window.event){
27. smallbox.style.width=smallpic.offsetWidth+border*2;
28. smallbox.style.height=smallpic.offsetHeight+border*2;
29. bigbox.style.width=bigX+border*2;
30. bigbox.style.height=bigY+border*2;
31. }else{
32. smallbox.style.width=smallpic.offsetWidth;
33. smallbox.style.height=smallpic.offsetHeight;
34. bigbox.style.width=bigX;
35. bigbox.style.height=bigY;
36. }
37. move(event);
38.}
39.function move(e){
40. var e = window.event?window.event:e;
41. //alert(e)
42. var iebug = 0;
43. if (window.event){
44. var vX = e.offsetX - viewX/2;
45. var vY = e.offsetY - viewY/2;
46. }else{
47. var vX = e.pageX - viewX/2 - smallbox.offsetLeft - border;
48. var vY = e.pageY - viewY/2 - smallbox.offsetTop - border;
49. iebug = 2;
50. }
51. if (vX < 0) vX = 0;
52. if (vY < 0) vY = 0;
53. if (vX > smallX - viewX - iebug) vX = smallX - viewX - iebug;
54. if (vY > smallY - viewY - iebug) vY = smallY - viewY - iebug;
55. bigpico.style.marginLeft = - vX * bl
56. bigpico.style.marginTop = - vY * bl
57. view.style.left = vX + smallbox.offsetLeft + border;
58. view.style.top = vY + smallbox.offsetTop + border;
59.}
60.//-->
61.</script>
62.<style type="text/css">
63.<!--
64.*{padding:0;margin:0}
65.img{display:block;}
66.#smallbox{border:1px #c33 solid;float:left;width:0;height:0;overflow:hidden}
67.#bigbox{border:1px #c33 solid;width:0px;height:0px;float:left;overflow:hidden}
68.#view{border:1px #ddd solid;width:0px;height:0px;position:absolute}
69.#head{text-align:center;line-height:40px;font:bold 16px/40px;color:red}
70.
71.//-->
72.</style>
73.
74.<body>
75.<div id="head"></div>
76.<div id="smallbox"><img src="http://www.365css.cn/example/tupianfangdayulan/1.jpg" name="smallpic" width="300" height="300" border="0" id="smallpic" onmousemove="move(event)" onmouseover="document.getElementById('bigbox').style.display='';document.getElementById('view').style.display=''" onmouseout="document.getElementById('bigbox').style.display='none';document.getElementById('view').style.display='none'"></div>
77.
78.<div id="bigbox" style="display:none"><div id="bigpico"><img src="http://www.365css.cn/example/tupianfangdayulan/1.jpg" name="bigpic" width="300" height="300" border="0" id="bigpic"></div>
79.</div>
80.<div id="view" onmousemove="move(event) "style="display:none"></div>
81.
82.</body>
83.</html>
我以前刚学js的时候也写过一段垃圾,本地保存为hta可看到效果。
<html><body oncontextmenu="return false;" scroll="no">
<style type="text/css">
* {
margin:0px;
padding:0px;
border:0px;
}
</style><div id="div1">
<img src="1.jpg" id="img1" title="双击放大,右键恢复!"></img>
</div>
<div id="div2">
<b>每次放大倍数:</b>
<select id="slt1">
<option value="2.0">2.0倍</option>
<option value="2.5">2.5倍</option>
<option value="3.0">3.0倍</option>
<option value="3.5">3.5倍</option>
<option value="4.0" selected>4.0倍</option>
</select>
<label id="l1">当前倍数:<u><b>1</u></b></label>
</div><script type="text/javascript">
/**************************************************************
//脚本开始
**************************************************************/
function $(id){return document.getElementById(id);}function window.onload()
{
with($("div1").style)
{
position = "absolute";
overflow = "hidden";
left = "35%";
top = "10%";
width = "60%";
height = "60%";
border = "1px solid #FFFF00"
}
with($("div2").style)
{
position = "absolute";
left = "35%";
top = "70%";
width = "60%";
border = "1px dotted #000000";
}
$("img1").oncontextmenu();
}/**************************************************************
//处理放大
**************************************************************/
$("img1").ondblclick = function()
{
var x,y;
var imul = parseFloat($("slt1").value);
var ps = this.parentNode;
with(this.style)
{
if(this.offsetWidth / ps.offsetWidth * imul > 200)return; pixelWidth *= imul;
pixelHeight *= imul;
x = ps.offsetWidth / 2 - event.offsetX * imul;
y = ps.offsetHeight / 2 - event.offsetY * imul;
pixelLeft = Math.max(Math.min(0,x),ps.offsetWidth - this.offsetWidth);
pixelTop = Math.max(Math.min(0,y),ps.offsetHeight - this.offsetHeight);
$("l1").innerHTML = "当前倍数:<u><b>" + Math.ceil(pixelWidth / ps.offsetWidth) + "</u></b>";
}
}
/**************************************************************
//拖动
**************************************************************/
var ox,oy;
$("img1").onmousedown = function()
{
ox = event.clientX;
oy = event.clientY;
this.setCapture();
this.attachEvent("onmousemove",myMove);
}function myMove()
{
var x,y;
with($("img1").style)
{
var ps = $("img1").parentNode.style;
x = pixelLeft - ox + event.clientX;
y = pixelTop - oy + event.clientY;
pixelLeft = Math.max(Math.min(0,x),ps.pixelWidth - pixelWidth);
pixelTop = Math.max(Math.min(0,y),ps.pixelHeight - pixelHeight);
ox = event.clientX;
oy = event.clientY;
}
}$("img1").onmouseup = function()
{
this.detachEvent("onmousemove",myMove);
this.releaseCapture();
}
/**************************************************************
//初始化img1
**************************************************************/
$("img1").oncontextmenu = function()
{
with(this.style)
{
position = "absolute";
left = "0px";
top = "0px";
width = "100%";
height = "100%";
cursor = "move";
$("l1").innerHTML = "当前倍数:<u><b>1</u></b>"; }
}</script></body></html>