一.html框架
<div id=line-share>/*整个分享横栏区域*/ /*分享横栏区域内的分享网站*/ <ul id="item"> <li><a href="#" id="spec">分享到:</a></li> <li id="item1"><a href="#">QQ空间</a></li> /*当鼠标移动到各个分享网站上,会下方弹出一条文字信息*/ <div id="tip1">分享到QQ空间</div> <li id="item7"><a href="#" id="more">更多...</a></li> /*当鼠标移动到更多标签上,会弹出了弹窗区域,显示所有的分享网站*/ <div id="tip7"> <h4><img src="../img/chaohao.png">分享到更多网站</h4> <ul> <li><a href="#">一键分享</a></li> </ul> </div> </ul> </div>
二.Js实现
window.onload = function(){ var item =document.getElementById('item'); var tips = document.getElementsByClassName('tip'); var lis = document.getElementsByClassName('firtli'); var more = document.getElementById('more'); var moreArea = document.getElementById('moreArea'); var close = document.getElementsByClassName('close'); item.addEventListener("mouseover",move,false); //当鼠标移动到ul区域时,不同的li标签进行不同的处理,利用了事件代理的机制:把原本需要绑定的事件委托给父元素,让父元素担当事件监听的职务。 function move(event){ var event = event||window.event; var target=event.target||event.srcElement; switch(target.id){ case "item1": missAllExceptThis(0); break; case "item2": missAllExceptThis(1); break; case "item3": missAllExceptThis(2); break; case "item4": missAllExceptThis(3); break; case "item5": missAllExceptThis(4); break; case "item6": missAllExceptThis(5); break; case "item7": missAllExceptThis(6); } } //该函数用来当鼠标移动到哪个标签上,只有该标签下的div显示,其他li标签下的div显示信息隐藏 function missAllExceptThis(index){ for(var i=0;i<lis.length;i++){ if(index!=i){ tips[i].style.display = 'none'; } else{ tips[i].style.display = 'block'; } } } //点击更多弹窗里面的差号,更多分享的弹窗直接消失 close[0].addEventListener("click",function(){ tips[6].style.display = 'none'; },false); }
三.效果图
初始样式
当鼠标移入到各个网站上,会显示
当鼠标移动到更多标签上,显示如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。