JavaScript控制点击链接弹出浮出层进行复制或打开等选项操作

2008-11-04 22:04:00 | 【
点击下面的链接:

当用户点击超级链接时不是打开目标地址,而是弹出一个小的对话框提示是打开网址还是复制网址,在某些场合非常实用。

查看全部代码 View Code

第一步:
在网页<head>区添加以下代码

<script type="text/javascript">

        /*****************************************************
         *  Share JavaScript (http://www.ShareJS.com)
         * 使用此脚本程序,请保留此声明
         * 获取此脚本以及更多的JavaScript程序,请访问 http://www.ShareJS.com
         ******************************************************/
    
function S(i){return document.getElementById(i)}
function copyUrl(){//复制网址
 var clipBoardContent=S("downloadDirect").href;
  try{
    window.clipboardData.setData("Text",clipBoardContent); 
    alert("复制成功!"); 
  }catch(e){
    alert("复制失败!"); 
  }
}
document.onclick = function(evt){//在不是连接的位置单击时,隐藏 显示的层
 var _target = evt ? evt.target : event.srcElement ;
 var _id = _target.id;
 if( _id == "" ){
  _id = _target.tagName;
 }
 if( _id !="A"){
  S("downloadPanel").style.display = 'none';
 }
}
window.onload=function(){//网页载入时,绑定指定对象下的所有a
  var xx=S("xx");
  var xxx = xx.getElementsByTagName("a");
  for(var i=0,j=xxx.length; i<j; i++){
    xxx[i].onclick=function(evt){
      var _event = evt ? evt : window.event;
      var _target = evt ? evt.target : window.event.srcElement;
      var _p = S("downloadPanel");
      _p.style.top = _event.clientY + document.body.scrollTop ;
      _p.style.left = ( _event.clientX + document.body.scrollLeft < 160 ? _event.clientX + document.body.scrollLeft + 10  : _event.clientX  + document.body.scrollLeft - 120 );
      S("downloadPanel").style.display = '';
      S("downloadDirect").href= this.href;
      return false;
    }
  }
}
</script>
<style type="text/css">
html,body{ font-size:12px;}
a {color:#4d5d2c;text-decoration:underline;cursor:pointer;}
.pointer {cursor:pointer;}
.infobar {background:#fff9e3;border:1px solid #fadc80;color:#743e04;margin-bottom:10px;padding:8px 20px 4px 20px;}
</style>


第二步:
在<body>区添加链接及层的代码

<div id="downloadPanel" style="position:absolute;top:0px;left:0px;width:160px;z-index:999;padding:6px 2px 6px 10px;border:1px solid #fb7;display:none;" class="infobar">
<div style="padding:3px 0 0 0;"><a id="downloadDirect" href="javascript:void(0);" target="_blank">打开网址</a>  <a id="downloadAgent" href="javascript:void(0);" onclick="copyUrl()">复制</a>  <a href="javascript:void(0)" onclick="S('downloadPanel').style.display = 'none';">关闭</a></div>
</div>
<div id="xx">
  <a href="http://www.sharejs.com">http://www.sharejs.com</a><br />
  <a href="http://www.google.com">http://www.google.com</a><br />
  <a href="http://www.psp-theme.com">http://www.psp-theme.com</a><br />
  <a href="http://www.sina.com">http://www.sina.com</a><br />
  <a href="http://www.qq.com">http://www.qq.com</a><br /><br />
</div>


需要这种效果的链接放在<div id="xx"></div>的标签内

下载"JavaScript控制点击链接弹出浮出层进行复制或打开等选项操作 "

  • 本地下载
  • 本地下载2

相关资源