首页 > 代码库 > CSS3跟随鼠标的眼睛转动效果
CSS3跟随鼠标的眼睛转动效果
<!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>CSS3跟随鼠标的眼睛转动效果</title><script id="jquery_183" type="text/javascript" class="library" src="/ajaxjs/jquery-1.7.2.min.js"></script></head><body><div class=‘content‘><p style=‘text-align:center;‘><div class=‘eye_wrapper‘ id=‘eyeballs‘><img alt="Head" class="head" src="/jscss/demoimg/201304/head.png" style="width:141px;margin:20px auto;" /><img alt="Ball" class="eye-left" id="eye_left" src="/jscss/demoimg/201304/ball.png" /><img alt="Ball" class="eye-right" id="eye_right" src="/jscss/demoimg/201304/ball.png" /></div></p></div></div><style>.eye_wrapper{ width:141px; height:185px; margin:80px auto; position:relative;}.eye_wrapper .head{ z-index:1px}.eye_wrapper .eye-left{ position:absolute; top:82px; left:30px}.eye_wrapper .eye-right{ position:absolute; top:80px; left:96px}</style><script>var getAngle = function(Xc, Yc, Xa, Ya, Xb, Yb) {var v1x = Xb - Xc;var v1y = Yb - Yc;var v2x = Xa - Xc;var v2y = Ya - Yc;return 180 * (Math.atan2(v1x, v1y) - Math.atan2(v2x, v2y)) / Math.PI};var left_center_offset = { left: 30, top: 82},right_center_offset = { left: 96, top: 80},radius = 10;var setEyeOffset = function(event) { var offset = $(".eye_wrapper").offset(); var x1 = offset.left + left_center_offset.left; var y1 = offset.top + left_center_offset.top; var x2 = offset.left + right_center_offset.left; var y2 = offset.top + right_center_offset.top; var n1 = event.clientX - x1; var m1 = -(event.clientY - y1); var k1 = Math.atan2(m1, n1); var n2 = event.clientX - x2; var m2 = -(event.clientY - y2); var k2 = Math.atan2(m2, n2); var x11 = (Math.cos(k1) * radius + x1).toFixed(0); var y11 = (( - Math.sin(k1) * radius) + y1).toFixed(0); $(".eye-left").offset({ left: x11, top: y11 }); var x22 = (Math.cos(k2) * radius + x2).toFixed(0); var y22 = (( - Math.sin(k2) * radius) + y2).toFixed(0); $(".eye-right").offset({ left: x22, top: y22 })};$(window).mousemove(setEyeOffset);</script>请使用火狐或Chrome测试,IE9以下版本看不到效果。</body></html>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。