求 js 特效,鼠标滑过,显示浮层

JavaScript023

求 js 特效,鼠标滑过,显示浮层,第1张

首先随便找一个地方新建一个div 并且隐藏。例如

<div id='showTip' style="background-color: white width:200pxheight:200pxposition: absolutedisplay: none">

</div>

然后在链接那边写个onmouseover 属性加个触发方法 如showDiv()具体方法如下

function showDiv(e){

$("#showTip").html("这里可以写一些html的内容,如图片文字")

$("#showTip").css("top",e.clientY)//这里可以根据情况适当调整

$("#showTip").css("left",e.clientX)

$("#showTip").show()

}

还要在链接那边加上 onmouseout属性触发方法如下:

function hideDiv(){

$("#showTip").hide()

}

以上需要引入jquery支持

首先应该明白javascript 是单进程运行的,然后你的 onmouseover 中写的是 oLi[i], 当onload 函数执行完,此时 i 的值为 oLi.length 为4 , 在 onmouseover 中 oLi[4] = undefined , 所以会出现你图中的错误,改成 this.style.width = 100 + "px"就不会有这样的问题了

<html>

<head>

<title>title及alt提示特效</title>

<style type="text/css">

body{font-size:12pxcolor:#000000}

td{font-size:12pxcolor:#000000}

a:link{font-size:12pxcolor:#000000}

</style>

<script language="javascript">

var pltsPop=null

var pltsoffsetX = 12// 弹出窗口位于鼠标左侧或者右侧的距离;3-12 合适

var pltsoffsetY = 15// 弹出窗口位于鼠标下方的距离;3-12 合适

var pltsTitle=""

document.write('<div id=pltsTipLayer style="display: noneposition: absolutez-index:10001"></div>')

function pltsinits()

{

document.onmouseover = plts

document.onmousemove = moveToMouseLoc

}

function plts()

{ var o=event.srcElement

if(o.alt!=null && o.alt!=""){o.dypop=o.alto.alt=""}

if(o.title!=null && o.title!=""){o.dypop=o.titleo.title=""}

pltsPop=o.dypop

if(pltsPop!=null &&pltsPop!="" &&typeof(pltsPop)!="undefined")

{

pltsTipLayer.style.left=-1000

pltsTipLayer.style.display=''

var Msg=pltsPop.replace(/\n/g,"<br>")

Msg=Msg.replace(/\0x13/g,"<br>")

var re=/\{(.[^\{]*)\}/ig

if(!re.test(Msg))pltsTitle="『水木设计联盟』"

else{

re=/\{(.[^\{]*)\}(.*)/ig

pltsTitle=Msg.replace(re,"$1")+" "

re=/\{(.[^\{]*)\}/ig

Msg=Msg.replace(re,"")

Msg=Msg.replace("<br>","")}

var content =

'<table style="FILTER:alpha(opacity=90)border: 1px solid #cccccc" id="toolTipTalbe" cellspacing="1" cellpadding="0"><tr><td width="100%"><table bgcolor="#ffffff" cellspacing="0" cellpadding="0">'+

'<tr id="pltsPoptop"><td height="20" bgcolor="#0094bb"><font color="#ffffff"><b><p id="topleft" align="left">↖'+pltsTitle+'</p><p id="topright" align="right" style="display:none">'+pltsTitle+'↗</font></b></font></td></tr>'+

'<tr><td "+attr+" style="padding-left:10pxpadding-right:10pxpadding-top: 8pxpadding-bottom:6pxline-height:140%">'+Msg+'</td></tr>'+

'<tr id="pltsPopbot" style="display:none"><td height="20" bgcolor="#0094bb"><font color="#ffffff"><b><p id="botleft" align="left">↙'+pltsTitle+'</p><p id="botright" align="right" style="display:none">'+pltsTitle+'↘</font></b></font></td></tr>'+

'</table></td></tr></table>'

pltsTipLayer.innerHTML=content

toolTipTalbe.style.width=Math.min(pltsTipLayer.clientWidth,document.body.clientWidth/2.2)

moveToMouseLoc()

return true

}

else

{

pltsTipLayer.innerHTML=''

pltsTipLayer.style.display='none'

return true

}

}

function moveToMouseLoc()

{

if(pltsTipLayer.innerHTML=='')return true

var MouseX=event.x

var MouseY=event.y

var popHeight=pltsTipLayer.clientHeight

var popWidth=pltsTipLayer.clientWidth

if(MouseY+pltsoffsetY+popHeight>document.body.clientHeight)

{

popTopAdjust=-popHeight-pltsoffsetY*1.5

pltsPoptop.style.display="none"

pltsPopbot.style.display=""

}

else

{

popTopAdjust=0

pltsPoptop.style.display=""

pltsPopbot.style.display="none"

}

if(MouseX+pltsoffsetX+popWidth>document.body.clientWidth)

{

popLeftAdjust=-popWidth-pltsoffsetX*2

topleft.style.display="none"

botleft.style.display="none"

topright.style.display=""

botright.style.display=""

}

else

{

popLeftAdjust=0

topleft.style.display=""

botleft.style.display=""

topright.style.display="none"

botright.style.display="none"

}

pltsTipLayer.style.left=MouseX+pltsoffsetX+document.body.scrollLeft+popLeftAdjust

pltsTipLayer.style.top=MouseY+pltsoffsetY+document.body.scrollTop+popTopAdjust

return true

}

pltsinits()

</script>

</head>

<body>

链接提示效果:<a href="http://www.lanrentuku.com/" target="_blank" title="title及alt提示特效,本程序由水木设计联盟整理推荐,希望大家喜欢">一个很酷的鼠标悬停特效,但有问题指教,我想知道怎么控制悬停时间</a>

<img src="http://www.mb5u.com/images/logo.gif" alt="模板无忧1号站">

<img src="http://www.mb5u.com/images/logo.gif" alt="模板无忧2号站">

<a href="#"><img src="http://www.mb5u.com/images/logo.gif" alt="模板无忧3号站" border="0"></a>

<div style="visibility:hiddenborder:0px solid #000000background-color:#333333font-size:12pxcolor:#6699ccposition:absolute" id=altlayer></div>

<script>

document.body.onmousemove=quickalt

function quickalt() {

if (event.srcElement.hint)event.srcElement.alt=event.srcElement.hint

if(event.srcElement.alt &&event.srcElement.alt!='') {

event.srcElement.hint=event.srcElement.alt

altlayer.style.visibility='visible'

altlayer.style.left=event.x-1

altlayer.style.top=event.y+16

altlayer.innerHTML=event.srcElement.hint

event.srcElement.alt=""

}

else altlayer.style.visibility='hidden'}

</script>

</body>

</html>

看看这个