0

编辑

我仍然无法让这个工作....

我已经尝试了下面的代码,虽然它在页面上工作,但在我希望它工作的 div 和 span 上不起作用......

如果您访问2hon5.net ,您可以看到代码正在运行,它通过2hon5.net/js/2hon5.js的代码显示弹出窗口:

 $("#wordInf").css({'display':'block'}); 

(默认情况下它是隐藏的)您也可以看到我在那里尝试的所有代码,任何人都可以看到我的代码中阻止弹出窗口消失的内容吗?

结束编辑

我尝试了许多解决方案,包括这个:类似的问题我无法工作我有一个信息弹出窗口,它根据悬停的跨度显示动态信息。我已经设置好了,所以它会直接在当前跨度下方弹出。如果调用范围或 div 本身不再悬停(因为它有链接),我希望它在一小段延迟后消失。我的运气为零,有什么建议吗?

<span onmouseover='callHover(code1234,this)' class='code 1234'>The calling span</span>
<span onmouseover='callHover(code1235,this)' class='code 1235'>The calling span</span>

被调用的 div 是:

<div id="codeInf" >
<span id="code_id">generated code here</span>
<a href="#">link 1</a>
<a href="#">link 2</a>
<a href="#">link 3</a>
<a href="#">link 4</a>
</div >

调用 div 的 jquery 是:

$("#codeInf").mouseover(showCode);
var showCode = function(ev) {
  var pos = $("#codeInf").offset();  
  var width = $("#codeInf").width();

  $("#codeInf").css( { "left": (pos.left + width) + "px", "top":pos.top + "px" } );
  $("#codeInf").show();
}

我尝试了上面链接的问题中的代码,但它不起作用 - 可能是因为我调用代码的方式?

我想要的结果是如果调用跨度或 codeInf div 不再悬停时将隐藏代码的代码,一个 div 可以调用到许多不同的跨度,所以我不希望延迟隐藏影响它已被另一个 span 调用。

提前感谢您的任何建议。

标记

4

3 回答 3

1

简单的事情是将 mouseleave 添加到跨度和弹出窗口的 div 中。

      $("span").hover(function() {
          // hide all other divs
          $("div").slideDown("slow");
      });

      function hidepanel() {
          if ($('div').is(':hover') === false) {
              $('div').slideUp(); 
          }
      }

      $('div').mouseleave(function() { setTimeout(hidepanel, 4000); });
      $('span').mouseleave(function() { setTimeout(hidepanel, 4000); });

http://jsfiddle.net/8CRVX/

于 2011-10-18T15:26:22.867 回答
1

查看 jQuery 的悬停文档

例子:

$("li").hover(function () {
    // focus
}, function () {
    // lost focus
});
于 2011-10-18T15:14:30.933 回答
1

这不是一个完美的结果,但我通过在调用和生成的 div 中添加 onmouseout'hideChar()' 解决了这个问题。

瘦我做了一个布尔来设置div是否悬停:

var isWordHover=new Boolean(0);
var isCharHover=new Boolean(0);

function charHover2(){
isCharHover=Boolean(1);
setTimeout(HC, 4000);
}

我将它设置为鼠标悬停时的值为 0,鼠标悬停时的值为 1。需要解决一些错误(有时它没有拿起鼠标等......但它隐藏了弹出窗口并提供了悬停并单击链接的能力。

谢谢你的建议。

标记

于 2011-11-12T15:37:59.977 回答