您现在的位置: 365建站网 > 365文章 > js放大镜

js放大镜

文章来源:365jz.com     点击数:1750    更新时间:2009-10-04 11:11   参与评论

</>code

  1. <!
  2. DOCTYPE html PUBLIC
  3. "
  4. -//W3C//DTD XHTML 1.0 Transitional//EN
  5. "
  6. "
  7. http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
  8. "
  9. >


  10. <
  11. html xmlns
  12. =
  13. "
  14. http://www.w3.org/1999/xhtml
  15. "
  16. >

  17. <
  18. html
  19. >

  20. <
  21. head
  22. >

  23. <
  24. title
  25. >
  26. wujinjian
  27. <
  28. /
  29. title>

  30. <
  31. base href
  32. =
  33. "
  34. http://i3.6.cn/cvbnm/34/d2/48/
  35. "
  36. >

  37. <
  38. script type
  39. =
  40. "
  41. text/javascript
  42. "
  43. >


  44. /*

  45. *特别注意:
  46. *放大的倍数=原图的大小/小图片显示的大小
  47. *自己查看原图片的大小,我这是 400*400 px
  48. */


  49. //
  50. 图片对象

  51. var
  52. imgObj;
  53. //
  54. 放大镜div对象

  55. var
  56. zoomDivObj;
  57. //
  58. 显示小图片的div

  59. var
  60. mainDivObj;
  61. //
  62. 放大后显示图片的div

  63. var
  64. showDivObj;
  65. //
  66. 放大镜的大小

  67. var
  68. zoomSize
  69. =
  70. 50
  71. ;
  72. //
  73. 放大镜的倍数(不能随便填)

  74. var
  75. zoomMultiple
  76. =
  77. 2
  78. ;
  79. //
  80. 图片的路径

  81. var
  82. imgPath
  83. =
  84. "
  85. 7d0fe1b65e1389c46045cd2d0e43a041.gif
  86. "
  87. ;
  88. //
  89. 小图片显示的大小

  90. var
  91. imgW
  92. =
  93. 200
  94. ;
  95. var
  96. imgH
  97. =
  98. 200
  99. ;
  100. //
  101. 显示的位置

  102. var
  103. left
  104. =
  105. 100
  106. ;
  107. var
  108. top
  109. =
  110. 10
  111. ;
  112. //
  113. 放大镜div的透明度(0~100)

  114. var
  115. opacity
  116. =
  117. 50
  118. ;
  119. //
  120. 放大镜div的颜色

  121. var
  122. rgb
  123. =
  124. "
  125. 223,223,223
  126. "
  127. ;

  128. function
  129. load()
  130. {
  131. if
  132. (zoomDivObj
  133. ==
  134. null
  135. )
  136. createZoomDivObj();
  137. if
  138. (mainDivObj
  139. ==
  140. null
  141. )
  142. createMainDivObj();
  143. if
  144. (showDivObj
  145. ==
  146. null
  147. )
  148. createShowDivObj();
  149. if
  150. (imgObj
  151. ==
  152. null
  153. )
  154. createImgObj();

  155. zoomDivObj.style.width
  156. =
  157. zoomSize
  158. +
  159. "
  160. px
  161. "
  162. ;
  163. zoomDivObj.style.height
  164. =
  165. zoomSize
  166. +
  167. "
  168. px
  169. "
  170. ;

  171. showDivObj.style.width
  172. =
  173. zoomSize
  174. *
  175. zoomMultiple
  176. +
  177. "
  178. px
  179. "
  180. ;
  181. showDivObj.style.height
  182. =
  183. zoomSize
  184. *
  185. zoomMultiple
  186. +
  187. "
  188. px
  189. "
  190. ;

  191. showDivObj.style.backgroundImage
  192. =
  193. "
  194. url(
  195. "
  196. +
  197. imgPath
  198. +
  199. "
  200. )
  201. "
  202. ;

  203. imgObj.src
  204. =
  205. imgPath;
  206. imgObj.style.width
  207. =
  208. imgW
  209. +
  210. "
  211. px
  212. "
  213. ;
  214. imgObj.style.height
  215. =
  216. imgH
  217. +
  218. "
  219. px
  220. "
  221. ;

  222. mainDivObj.style.width
  223. =
  224. imgW
  225. +
  226. "
  227. px
  228. "
  229. ;
  230. mainDivObj.style.height
  231. =
  232. imgH
  233. +
  234. "
  235. px
  236. "
  237. ;
  238. mainDivObj.style.left
  239. =
  240. left
  241. +
  242. "
  243. px
  244. "
  245. ;
  246. mainDivObj.style.top
  247. =
  248. top
  249. +
  250. "
  251. px
  252. "
  253. ;

  254. showDivObj.style.left
  255. =
  256. left
  257. +
  258. imgW
  259. +
  260. 50
  261. +
  262. "
  263. px
  264. "
  265. ;
  266. showDivObj.style.top
  267. =
  268. top
  269. +
  270. "
  271. px
  272. "
  273. ;

  274. zoomDivObj.style.backgroundColor
  275. =
  276. "
  277. rgb(
  278. "
  279. +
  280. rgb
  281. +
  282. "
  283. )
  284. "
  285. ;

  286. //
  287. 两个都要写,为了IE 和 火狐 的通用

  288. zoomDivObj.style.filter
  289. =
  290. "
  291. alpha(opacity=
  292. "
  293. +
  294. opacity
  295. +
  296. "
  297. )
  298. "
  299. ;
  300. zoomDivObj.style.opacity
  301. =
  302. opacity
  303. /
  304. 100;

  305. }

  306. function
  307. showZoomDiv()
  308. {
  309. if
  310. (zoomDivObj
  311. ==
  312. null
  313. )
  314. createZoomDivObj();

  315. zoomDivObj.style.visibility
  316. =
  317. "
  318. visible
  319. "
  320. ;
  321. }

  322. function
  323. moveZoomDiv(e)
  324. {
  325. if
  326. (zoomDivObj
  327. ==
  328. null
  329. )
  330. createZoomDivObj();

  331. var
  332. w
  333. =
  334. zoomDivObj.style.width.replace(
  335. "
  336. px
  337. "
  338. ,
  339. ""
  340. )
  341. -
  342. 0
  343. ;
  344. var
  345. h
  346. =
  347. zoomDivObj.style.height.replace(
  348. "
  349. px
  350. "
  351. ,
  352. ""
  353. )
  354. -
  355. 0
  356. ;

  357. if
  358. (mainDivObj
  359. ==
  360. null
  361. )
  362. createMainDivObj();

  363. var
  364. mouseX
  365. =
  366. e.clientX
  367. -
  368. (mainDivObj.style.left.replace(
  369. "
  370. px
  371. "
  372. ,
  373. ""
  374. )
  375. -
  376. 0
  377. );
  378. var
  379. mouseY
  380. =
  381. e.clientY
  382. -
  383. (mainDivObj.style.top.replace(
  384. "
  385. px
  386. "
  387. ,
  388. ""
  389. )
  390. -
  391. 0
  392. );

  393. window.status
  394. =
  395. mouseX
  396. +
  397. "
  398. "
  399. +
  400. mouseY;

  401. zoomDivObj.style.left
  402. =
  403. mouseX
  404. -
  405. (w
  406. /
  407. 2)+"px";

  408. zoomDivObj.style.top
  409. =
  410. mouseY
  411. -
  412. (h
  413. /
  414. 2)+"px";


  415. if
  416. (showDivObj
  417. ==
  418. null
  419. )
  420. createShowDivObj();

  421. showDivObj.style.backgroundPosition
  422. =
  423. (
  424. -
  425. mouseX
  426. +
  427. w
  428. /
  429. 2)*zoomMultiple+"px "+(-mouseY+h
  430. /
  431. 2
  432. )
  433. *
  434. zoomMultiple
  435. +
  436. "
  437. px
  438. "
  439. ;
  440. }

  441. function
  442. hiddenZoomDiv()
  443. {
  444. if
  445. (zoomDivObj
  446. ==
  447. null
  448. )
  449. createZoomDivObj();

  450. //
  451. zoomDivObj.style.visibility="hidden";

  452. }

  453. function
  454. createZoomDivObj()
  455. {
  456. zoomDivObj
  457. =
  458. document.getElementById(
  459. "
  460. zoom_div_id
  461. "
  462. );
  463. }

  464. function
  465. createMainDivObj()
  466. {
  467. mainDivObj
  468. =
  469. document.getElementById(
  470. "
  471. main_div_id
  472. "
  473. );
  474. }

  475. function
  476. createShowDivObj()
  477. {
  478. showDivObj
  479. =
  480. document.getElementById(
  481. "
  482. show_div_id
  483. "
  484. );
  485. }

  486. function
  487. createImgObj()
  488. {
  489. imgObj
  490. =
  491. document.getElementById(
  492. "
  493. img_id
  494. "
  495. );
  496. }
  497. <
  498. /
  499. script>

  500. <
  501. /
  502. head>

  503. <
  504. body onmousemove
  505. =
  506. "
  507. moveZoomDiv(event)
  508. "
  509. onload
  510. =
  511. "
  512. load()
  513. "
  514. >

  515. <
  516. div id
  517. =
  518. "
  519. main_div_id
  520. "
  521. style
  522. =
  523. "
  524. position:absolute;overflow:hidden;background-color:cyan;border:gray solid 1px;
  525. "
  526. onmouseover
  527. =
  528. "
  529. showZoomDiv()
  530. "
  531. onmouseout
  532. =
  533. "
  534. hiddenZoomDiv()
  535. "
  536. >

  537. <
  538. img id
  539. =
  540. "
  541. img_id
  542. "
  543. >


  544. <
  545. div id
  546. =
  547. "
  548. zoom_div_id
  549. "
  550. style
  551. =
  552. "
  553. position:absolute;left:0px;top:0px;overflow:hidden;visibility:hidden;
  554. "
  555. ><
  556. /
  557. div>

  558. <
  559. /
  560. div>


  561. <
  562. div id
  563. =
  564. "
  565. show_div_id
  566. "
  567. style
  568. =
  569. "
  570. position:absolute;overflow:hidden;background-color:cyan;background-repeat:no-repeat;border:gray solid 1px;
  571. "
  572. ><
  573. /
  574. div>

  575. <
  576. /
  577. body>

  578. <
  579. /
  580. html>

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (1750人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号