【问题标题】:jquery slider and mouseover codejquery滑块和鼠标悬停代码
【发布时间】:2010-02-03 22:23:02
【问题描述】:

全部,

在下面的代码中,

<html>
<head>
  <link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
  <script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>

<script src="http://jqueryui.com/latest/ui/effects.core.js"></script>
<script src="http://jqueryui.com/latest/ui/effects.slide.js"></script>
<style type="text/css">
  #show { margin: 0px; width: 100px; height: 80px; background: green; border: 1px solid black; position: relative; }
</style>
</head>
<body>
<div id="details"  onmouseover="javascript:tooltip(this);">keyword</div>
<div id="show" style="display:none;"></div>
</body>

<script>
function tooltip(el)
{
    $("#details").mouseover(function() {
    $("#show").show("slide", {}, 1000);
    });
}
</script>
</html>

鼠标悬停在关键字 div 上。绿色网格框应该在鼠标移出时显示。这是如何实现的。

谢谢……

【问题讨论】:

    标签: jquery html css


    【解决方案1】:

    问题是鼠标悬停函数中的代码永远不会执行。当鼠标悬停发生时,jQuery 用于将一个函数重新分配给鼠标悬停,而它应该被执行。

    进行以下更改:

    • 从详细信息 div 中删除 onmouseover:
    <div id="details">keyword</div>
    
    • 写入加载文档时执行tooltop函数:
    <script>
    $(document).ready(function(){
    {
        $("#details").mouseover(function() {
            $("#show").show("slide", {}, 1000);
        });
    }
    </script>
    

    【讨论】:

      【解决方案2】:

      每次用户将鼠标悬停在您的元素上时,您都会附加鼠标悬停逻辑。您不需要将此逻辑包装在函数中,而不是您的情况。

      $(function(){
        $("#details").mouseover(function(){
          $("#show").show();
        });
      });
      

      现在以下行已过时:

      <div id="details" onmouseover="javascript:tooltip(this);">
      

      通过写$("#details").mouseover(),我们已经声明了这个逻辑。现在不需要通过 HTML 将其放置在元素的 mouseover 属性中。你应该留下:

      <div id="details">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-07
        • 2011-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多