0

我有以下代码,当将鼠标悬停在元素上时,将显示一个 div,并在鼠标移出时隐藏。这在除 IE 之外的所有浏览器上都可以正常工作,这是我的代码;

// JavaScript Document

var baseopacity=0
function showtext(thetext){
    if (!document.getElementById)
    return
    textcontainerobj=document.getElementById("tabledescription")
    browserdetect=textcontainerobj.filters? "ie" : typeof textcontainerobj.style.MozOpacity=="string"? "mozilla" : ""
    instantset(baseopacity)
    document.getElementById("tabledescription").innerHTML=thetext
    highlighting=setInterval("gradualfade(textcontainerobj)",50)
}

function hidetext(){
    cleartimer()
    instantset(baseopacity)
}

function instantset(degree){
    if (browserdetect=="mozilla")
        textcontainerobj.style.MozOpacity=degree/100
    else if (browserdetect=="ie")
        textcontainerobj.filters.alpha.opacity=degree
    else if (document.getElementById && baseopacity==0)
        document.getElementById("tabledescription").innerHTML=""
}
function cleartimer(){
    if (window.highlighting) clearInterval(highlighting)
}
function gradualfade(cur2){
    if (browserdetect=="mozilla" && cur2.style.MozOpacity<1)
        cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.2, 0.99)
    else if (browserdetect=="ie" && cur2.filters.alpha.opacity<100)
        cur2.filters.alpha.opacity+=20
    else if (window.highlighting)
        clearInterval(highlighting)
}
//<![CDATA[ 
$(window).load(function(){
    $(".tiptext").mouseover(function() {
        $(this).children(".description").show();
    }).mouseout(function() {
        $(this).children(".description").hide();
    });
});//]]>

这是其中一个元素的 HTML(每个元素都是一张图片);

<div id="one">
<div class="tiptext"><a href="http://mathremake.site40.net/"><img src="../images/web/1.png" height="180" width="300"/></a>
<div class="description"><font face="Arial, Helvetica, sans-serif"><u>Ascension Math Page</u></font><font size="2" face="Arial, Helvetica, sans-serif"><br>Ascension Collegiate's Mathematics department web page.</br></font></div>
</div>
</div>

以及相同元素的 CSS;

#one {
    top: 200px;
    position: absolute;
    width: 300px;
    position: absolute;
    left: 50%; 
    margin-left: -500px;
    } 

感谢所有帮助,谢谢。:)

4

2 回答 2

2

IE有问题$(window).load(),你可以试试这个:

$(window).bind('load', function(){
     ...
}); 

或者:

$(document).ready(function() {
   $(".tiptext").hover(function() {
      $(this).find(".description").show();
   }, function() {
      $(this).find(".description").hide();
   });
});
于 2012-07-01T01:57:46.920 回答
0

您可以尝试准备好文档,也可以使用.hover()函数,这可以使事情变得更容易。另外,我建议display:none向您的班级添加一个 CSS 属性.description或创建一个新.hide班级并添加它。

Javascript

  $(function(){
     $(".tiptext").hover(function() {
         $(".description").show();
     },function() {
         $(".description").hide();
     });
  });​

CSS:

  .description{
     display:none;
  }

解决方案

于 2012-07-01T02:08:50.533 回答