/* * 企业会员名片显示脚本,基于ajax和iframe * 只要在页面中加载该脚本,即可方便提取名片信息 * 为与其他变量区别,该脚本变量及名称均以corp_card_为前缀 * 为配合个人名片显示,故把个人名片显示与企业名片显示整和 */ var corp_card_http_request = false; //企业名片和个人名片通用http_request对象 var mousePos; //记录鼠标位置 function mouseMove(ev){ ev = ev || window.event; mousePos = mouseCoords(ev); } function mouseCoords(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) }; } document.onmousemove = mouseMove; function corp_card_send_request(url,method) {//初始化、指定处理函数、发送请求的函数 corp_card_http_request = false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest) { //Mozilla 浏览器 corp_card_http_request = new XMLHttpRequest(); if (corp_card_http_request.overrideMimeType) {//设置MiME类别 corp_card_http_request.overrideMimeType('text/xml'); // } } else if (window.ActiveXObject) { // IE浏览器 try { corp_card_http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { corp_card_http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!corp_card_http_request) { // 异常,创建对象实例失败 window.alert("不能创建XMLHttpRequest对象实例."); return false; } switch(method){ case "corp_card_title": corp_card_http_request.onreadystatechange = corp_card_title_response;break; //企业名片导航条生成 case "pers_card_title": corp_card_http_request.onreadystatechange = pers_card_title_response;break; //个人名片导航条生成 case "corp_card_title1": corp_card_http_request.onreadystatechange = corp_card_title1_response;break; //企业名片导航条生成 case "load_card_corp_ad": corp_card_http_request.onreadystatechange = load_card_corp_ad_response;break; // 加载名片广告 } // 确定发送请求的方式和URL以及是否同步执行下段代码 //http_request.setRequestHeader("If-Modified-Since","0"); corp_card_http_request.open("GET", url, true); corp_card_http_request.send(null); } /* * 依据企业会员的标识来生成导航条 * company_id 企业会员标识 */ function corp_card_title_request(company_id) { if(company_id) { corp_card_send_request(get_root_url_search() + "/corp_card_operate.cgi?action1=corp_card_title&company_id="+company_id,"corp_card_title"); //发出生成导航条的请求 } else { alert("无法读取企业会员名片"); } } function corp_card_title_response() {//响应生成导航条的请求 if (corp_card_http_request.readyState == 4) { // 判断对象状态 if (corp_card_http_request.status == 200) { // 信息已经成功返回,开始处理信息 var str = corp_card_http_request.responseText; //企业名片的导航条显示 var str_array = str.split("||"); document.getElementById("corp_card_direct_"+str_array[0]).innerHTML=str_array[2]; if(document.getElementById("corp_visit_list_loading") && document.getElementById("move")) { //访客名片加载 //触发加载下一个名片 if(document.getElementById("move").value=="0") { corp_visit_list_loading_request(str_array[0]); } // document.getElementById("corp_visit_list_loading").innerHTML=""; } //直到加载完才可以得到 display_corp_card_frame('1', str_array[0], str_array[1]); } else { //页面不正常 alert("您所请求的页面有异常。"); } }else {//只要未读取完成 if(document.getElementById("corp_visit_list_loading")) document.getElementById("corp_visit_list_loading").innerHTML="数据加载中... "; } } /* * 依据企业会员的标识来生成导航条 * company_id 企业会员标识 */ function corp_card_title1_request(company_id) { if(company_id) { corp_card_send_request(get_root_url_search() + "/corp_card_operate.php?action1=corp_card_title1&company_id="+company_id,"corp_card_title1"); //发出生成导航条的请求 } else { alert("无法读取企业会员名片"); } } function corp_card_title1_response() {//响应生成导航条的请求 if (corp_card_http_request.readyState == 4) { // 判断对象状态 if (corp_card_http_request.status == 200) { // 信息已经成功返回,开始处理信息 var str = corp_card_http_request.responseText; //企业名片的导航条显示 var str_array = str.split("||"); document.getElementById("corp_card_direct_"+str_array[0]).innerHTML=str_array[2]; if(document.getElementById("corp_visit_list_loading") && document.getElementById("move")) { //访客名片加载 //触发加载下一个名片 if(document.getElementById("move").value=="0") { corp_visit_list_loading_request(str_array[0]); } // document.getElementById("corp_visit_list_loading").innerHTML=""; } //直到加载完才可以得到 display_corp_card_frame('1', str_array[0], str_array[1]); } else { //页面不正常 alert("您所请求的页面有异常。"); } }else {//只要未读取完成 if(document.getElementById("corp_visit_list_loading")) document.getElementById("corp_visit_list_loading").innerHTML="数据加载中... "; } } //得到url function get_root_url_search() { //return "http://www.netsun.com/"; //得到网站的根目录 return ""; //得到网站的根目录 } ///////////////////////////////////////////////该部分为层拖动代码/////////////////////////////////////// //可以打包为js文件; var x0=0,y0=0,x1=0,y1=0; var offx=6,offy=6, position_top=0, position_left = 0; //名片的初始位置 var moveable=false; var hover='orange',normal='slategray';//color; var index=100;//z-index; 名片的top值 //开始拖动; function startDrag(obj) { //锁定标题栏; obj.setCapture(); //定义对象; var win = obj.parentNode; var sha = win.nextSibling; //记录鼠标和层位置; x0 = event.clientX; y0 = event.clientY; x1 = parseInt(win.style.left); y1 = parseInt(win.style.top); sha.style.left = x1 + offx; sha.style.top = y1 + offy; moveable = true; } //拖动; function drag(obj) { var win = obj.parentNode; var sha = win.nextSibling; if(moveable) { win.style.left = x1 + event.clientX - x0; win.style.top = y1 + event.clientY - y0; sha.style.left = parseInt(win.style.left) + offx; sha.style.top = parseInt(win.style.top) + offy; } } //停止拖动; function stopDrag(obj) { var win = obj.parentNode; var sha = win.nextSibling; sha.style.left = obj.parentNode.style.left; sha.style.top = obj.parentNode.style.top; //放开标题栏; obj.releaseCapture(); moveable = false; } function min(obj_id) { var obj = document.getElementById("corp_card_" +obj_id); var win = obj.parentNode.parentNode; var sha = win.nextSibling; var tit = obj.parentNode; var msg = tit.nextSibling; var flg = msg.style.display; if(flg == "none") { win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; msg.style.display = "block"; obj.innerHTML = "0"; } else { win.style.height = parseInt(tit.style.height) + 2*2; sha.style.height = win.style.height; obj.innerHTML = "2"; msg.style.display = "none"; } } function cls(obj_id) //关闭层,要绝对的删除 { var obj = document.getElementById("corp_card_" +obj_id); var sha = obj.nextSibling; var obj_sub = document.getElementById("corp_card_sub_" +obj_id); obj.parentNode.removeChild(sha); obj.parentNode.removeChild(obj); position_top = position_top - 30; position_left = position_left - 30; if(document.getElementById("keyword")) { //alert(); document.getElementById("keyword").focus(); } } //获得焦点; function getFocus(obj_id, div_ower) { obj = document.getElementById(div_ower +obj_id); index = index + 2; var idx = index; obj.style.zIndex=idx; obj.nextSibling.style.zIndex=idx-1; } ///////////////////////////////////////////////该部分为层拖动代码/////////////////////////////////////// /* * 创建企业名片div * 问题注意点: * 1. div的id要唯一,而且不能与个人名片发生冲突,id格式: "corp_card_123456" * 2. div的显示问题,当鼠标点击时,其他div隐藏 * 3. 合理安排div的显示位置 */ function create_card_corp_div(company_id){ var htmlDiv = ""; //首先判断该名片是否已经存在 if(document.getElementById("corp_card_" + company_id)) { return true; } if(position_top == 150) { alert("每页最多打开五张名片"); return true; } var card_div = document.createElement("DIV"); //创建div层 card_div.style.width = 400; //层宽度 card_div.style.height = 161; //层高度 id = "corp_card_" + company_id; // sub_id = "corp_card_sub_" + company_id; // card_div.setAttribute( "id" , "corp_card_" + company_id ); //层的唯一id card_div.style.backgroundColor = "#ffffff"; card_div.style.filter="alpha(opacity=100)"; card_div.style.cursor="move"; //鼠标变形 card_div.style.zIndex= index; //鼠标变形 card_div.style.position = "absolute"; card_div.innerHTML = "
" //+ "" + company_id + "" //+ "0" //+ "r" + "
" + "
"; if(navigator.userAgent.indexOf('Firefox') >= 0){ card_div.addEventListener("onmousedown",new Function("getFocus("+company_id+",'corp_card_')"),false); //鼠标拖动函数 } else{ card_div.attachEvent("onmousedown",new Function("getFocus("+company_id+",'corp_card_')")); //鼠标拖动函数 } document.body.appendChild(card_div); //把层追加到body根目录下,做为它的子接点 htmlDiv = htmlDiv + ""; htmlDiv = htmlDiv + ''; htmlDiv = htmlDiv + "
"; document.getElementById(sub_id).innerHTML = htmlDiv; var card_div_sub = document.createElement("DIV"); //创建div层 card_div_sub.style.zIndex= index; card_div_sub.style.position = "absolute"; document.body.appendChild(card_div_sub); corp_card_position("corp_card_" + company_id); corp_card_title_request(company_id); } function corp_card_position(div){ var objdiv = document.getElementById(div); position_top = position_top + 30; position_left = position_left + 30; x = document.body.scrollLeft; y = document.body.scrollTop; //获取屏幕宽度 availWidth = parseInt(window.screen.availWidth); availHeight = parseInt(window.screen.availHeight); tblWidth = parseInt(objdiv.style.width); y = y + availHeight / 6 + 25; x = (availWidth - tblWidth)/4; var topCard=mousePos.y;//当前鼠标纵坐标 objdiv.style.top = position_top + topCard + 'px'; objdiv.style.left = x + position_left +120 + 'px'; } function load_card_corp_ad_request(company_id) { if(company_id) { corp_card_send_request(get_root_url_search() + "/corp_card_operate.cgi?action1=load_card_corp_ad&company_id="+company_id,"load_card_corp_ad"); //发出生成导航条的请求 } else { alert("无法读取企业会员名片"); } } function load_card_corp_ad_response() { // if (corp_card_http_request.readyState == 4) { // 判断对象状态 if (corp_card_http_request.status == 200) { // 信息已经成功返回,开始处理信息 var str = corp_card_http_request.responseText; if(str != "0") { var str_array = str.split("\t"); document.getElementById("card_corp_ad_"+str_array[0]).innerHTML=str_array[1]; } } else { //页面不正常 alert("您所请求的页面有异常。"); } }else {//只要未读取完成 if(document.getElementById("corp_visit_list_loading")) document.getElementById("corp_visit_list_loading").innerHTML="数据加载中... "; } } function display_corp_card_frame(url_id, company_id, is_active) { var title; //document.getElementById("channel_name" +url_id+"_"+company_id).style.backgroundcolor = "card1"; for(i =1; i < 6; i++) { switch(i) { case 1: title = "网站名片"; break; case 2: title = "最新信息"; break; case 3: title = "关联用户"; break; case 4: title = "企业简介"; break; case 5: title = "给我留言"; break; } if(url_id == i) { channel_id = ("channel_name" +url_id+"_"+company_id); document.getElementById(channel_id).style.background = "#c1c1c1"; document.getElementById("channel_name" +i+"_"+company_id).innerHTML = "
"+title+"
"; document.getElementById("card_div_frame_" + company_id).innerHTML = "