显示效果图8,
小图片大图片布局
|
|
设置小图片与大图片样式
|
|
jQuery步骤
显示计算大图片位置坐标图9
[ ] 给小图绑定mouseover事件
当事件触发,mark即show(秒数)出来
根据图9计算出大图mark出现的位置
根据事件源e.target获得当前触发事件的自定义属性bigImag来修改mark子元素img的src(实现切换不同图片的大图)
[ ] 继续给小图绑定mousemove事件
随着鼠标移动修改(根据图9计算出)大图mark的位置(实现跟随鼠标移动)
- [ ] 再继续给小图绑定mouseout事件
隐藏mark12345678910111213141516171819202122232425262728// 等价于$(document).ready()当页面上的HTML结构都加载完成再执行对应的函数$(function(){var box=$("#box"), mark=$("#mark"), boxoffset=box.offset();// console.log(boxoffset);//取得子元素 $("#box>img")// box.children("img").bind("mouseover")// box.children("img").on("mouseover")box.children("img").mouseover(function(e){e=e||window.event;e.target=e.target||e.srcElement; //事件源var left=e.clientX-boxoffset.left+10;var top=e.clientY-boxoffset.top+10;//hide/toggle/slideDown/slideUp/slideToggle/fadeIn/fadeOut/fadeToggle/animate//jQuery中 stop()必须清除上一次动画mark.stop().show(500).css({left:left,top:top}).find("img").attr("src",e.target.getAttribute("bigImg"));}).mousemove(function(e){e=e||window.event;var left=e.clientX-boxoffset.left+10;var top=e.clientY-boxoffset.top+10;mark.css({left:left,top:top});}).mouseout(function(e){mark.stop().hide(500);})})
完整代码
|
|