温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

js实现一键分享效果---横栏状态

发布时间:2020-07-09 11:10:33 来源:网络 阅读:392 作者:蜗牛oscersong 栏目:开发技术

一.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);
		
	}

三.效果图

初始样式

js实现一键分享效果---横栏状态当鼠标移入到各个网站上,会显示

js实现一键分享效果---横栏状态当鼠标移动到更多标签上,显示如下:

js实现一键分享效果---横栏状态

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI