asp.net中自定義tooltip的顯示
本文根據網上的一篇文章加工而成的
1.建一個js檔案(tooltip.js)
//--初始化變數--
var rT=true;//允許影象過渡
var bT=true;//允許影象淡入淡出
var tw=150;//提示框寬度
var endaction=false;//結束動畫
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
offsetX = 0;
offsetY = 20;
var toolTipSTYLE="";
function initToolTips()
{
if(ns4||ns6||ie4)
{
if(ns4) toolTipSTYLE = document.toolTipLayer;
else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style;
else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
if(ns4) document.captureEvents(Event.MOUSEMOVE);
else
{
toolTipSTYLE.visibility = "visible";
toolTipSTYLE.display = "none";
}
document.onmousemove = moveToMouseLoc;
}
}
function toolTip(msg, fg, bg)
{
if(toolTip.arguments.length < 1) // hide
{
if(ns4)
{
toolTipSTYLE.visibility = "hidden";
}
else
{
//--圖象過渡,淡出處理--
if (!endaction) {toolTipSTYLE.display = "none";}
if (rT) document.all("msg1").filters[1].Apply();
if (bT) document.all("msg1").filters[2].Apply();
document.all("msg1").filters[0].opacity=0;
if (rT) document.all("msg1").filters[1].Play();
if (bT) document.all("msg1").filters[2].Play();
if (rT){
if (document.all("msg1").filters[1].status==1 || document.all("msg1").filters[1].status==0){
toolTipSTYLE.display = "none";}
}
if (bT){
if (document.all("msg1").filters[2].status==1 || document.all("msg1").filters[2].status==0){
toolTipSTYLE.display = "none";}
}
if (!rT && !bT) toolTipSTYLE.display = "none";
//----------------------
}
}
else // show
{
if(!fg) fg = "#777777";
if(!bg) bg = "#eeeeee";
var content =
'<table id="msg1" name="msg1" border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg + '" class="trans_msg"><td>' +
'<table border="0" cellspacing="0" cellpadding="3" bgcolor="' + bg +
'"><td width=' + tw + '><font face="Arial" color="' + fg +
'" size="-2">' + msg +
' /;</font></td></table></td></table>';
if(ns4)
{
toolTipSTYLE.document.write(content);
toolTipSTYLE.document.close();
toolTipSTYLE.visibility = "visible";
}
if(ns6)
{
document.getElementById("toolTipLayer").innerHTML = content;
toolTipSTYLE.display='block'
}
if(ie4)
{
document.all("toolTipLayer").innerHTML=content;
toolTipSTYLE.display='block'
//--圖象過渡,淡入處理--
var cssopaction=document.all("msg1").filters[0].opacity
document.all("msg1").filters[0].opacity=0;
if (rT) document.all("msg1").filters[1].Apply();
if (bT) document.all("msg1").filters[2].Apply();
document.all("msg1").filters[0].opacity=cssopaction;
if (rT) document.all("msg1").filters[1].Play();
if (bT) document.all("msg1").filters[2].Play();
//----------------------
}
}
}
function moveToMouseLoc(e)
{
if(ns4||ns6)
{
x = e.pageX;
y = e.pageY;
}
else
{
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
}
toolTipSTYLE.left = x + offsetX;
toolTipSTYLE.top = y + offsetY;
return true;
}
2.在aspx頁面檔案中的<head></head>中加入
<script language="javascript" type="text/javascript" src="tooltip.js"></script>
<style type="text/css">
<!--
.trans_msg
{
filter:alpha(opacity=100,enabled=1) revealTrans(duration=.2,transition=1) blendtrans(duration=.2);
}
-->
</style>
3.<form></form>中加入下面程式碼
<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
<script>initToolTips()</script>
4.修改aspx.cs程式碼檔案
Page_Load中
LinkButton1.Attributes.Add("OnMouseOver", "javascript:toolTip('" + "<B>"+query1 +"</B>"+ "')");
//滑鼠移入觸發的事件toolTip有三個引數,
LinkButton1.Attributes.Add("OnMouseOut", "javascript:toolTip()");//滑鼠移開事件
順便介紹一下,如何保護js檔案,使客戶端不能下載js檔案
“虛擬目錄”右鍵“屬性”----“配置”----在對映中“新增”-----在可執行檔案中加入
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll
副檔名:.js
動作:選擇“限制”,輸入GET,HEAD,POST,DEBUG
指令碼引擎和檢查檔案是否存在,勾上
注意:配置IIS後,在web.config中不能出現下面的程式碼
<httpHandlers>
<add verb="*" path="*.js" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>
如果有則js檔案不能訪問。