当鼠标悬停在一个列表元素上时,jQuery 使其他列表元素淡入淡出/变暗,我在那里 90%..?

2024-04-13

我有一个无序列表,其中可能有 30 项。当将鼠标悬停在其中一项上时,其余列表项会淡出至 30%,而悬停的项目将保持 100%;当你离开列表时,它们都会恢复到 100%,我已经做到了。

当您从一个项目移动到另一个项目时,我的问题就出现了,其他列表项目逐渐回退到 100%,然后又回退到 30%。我希望它们保持在 30%,除非用户离开整个列表。

我在每个列表项上使用hoverIntent 插件。我还使用 jQuery 向当前列表项添加一个类,这样我就可以淡出其余部分,并在您离开后将其删除。我使用了 jQuery Cookbook 网站上的等待函数(http://docs.jquery.com/Cookbook/wait http://docs.jquery.com/Cookbook/wait)

你明白吗?

到目前为止,这是我的代码:

$.fn.wait = function(time, type) {
    time = time || 300;
    type = type || "fx";
    return this.queue(type, function() {
        var self = this;
        setTimeout(function() {
            $(self).dequeue();
        }, time);
    });
};

$("#sites li:not(#sites li li)").hoverIntent(function(){
    $(this).attr('class', 'current'); // Add class .current
    $("#sites li:not(#sites li.current,#sites li li)").fadeTo("slow", 0.3); // Fade other items to 30%
    },function(){
    $("#sites li:not(#sites li.current,#sites li li)").wait().fadeTo(600, 1.0); // This should set the other's opacity back to 100% on mouseout
    $(this).removeClass("current"); // Remove class .current
});

*显然这是在 $(document).ready(function() 中

有人可以帮我吗?

非常感谢


这听起来很有趣,所以我实现了它。从表面上看,你的 CSS 选择器可以被简化。我认为您只希望最上面的列表项淡入和淡出,但从示例中尚不清楚。此示例突出显示最上面的节点并正确执行淡入淡出。我认为这就是您想要的效果,但我不能 100% 确定。我没有使用 wait() 功能,因为我不确定它对您有什么作用。

从本质上讲,听起来您遇到的问题是,当您尚未离开列表时,您会在悬停时淡入项目。当您完全离开列表时,您只想淡入列表或其他列表项。不要对该部分使用hoverIntent,并处理整个无序列表上的淡入淡出,这样应该就可以了。

这个例子:http://jsbin.com/usobe http://jsbin.com/usobe

修改示例:http://jsbin.com/usobe/edit http://jsbin.com/usobe/edit

<ul id="sites">
  <li> site 1
   <ul><li>sub item 1</li><li>sub item 2</li><li>sub item 3</li></ul>
  <li> site 2
   <ul><li>sub item 1</li><li>sub item 2</li><li>sub item 3</li></ul>  
  <li> site 3  
   <ul><li>sub item 1</li><li>sub item 2</li><li>sub item 3</li></ul>
  <li> site 4
   <ul><li>sub item 1</li><li>sub item 2</li><li>sub item 3</li></ul>  
  <li> site 5
</ul>    

<script>
$(function() {

$("#sites").hover(
     function() {}, 
     function() {        
       $('#sites>li').fadeTo("fast", 1.0); 
     }
);

$("#sites>li").hoverIntent(
    function(){
       $(this).attr('class', 'current'); // Add class .current
       $(this).siblings().fadeTo("fast", 0.3); // Fade other items to 30%
       $(this).fadeTo("slow", 1.0); // Fade current to 100%

    },
    function(){            
      $(this).removeClass("current"); // Remove class .current
      $(this).fadeTo("fast", 1.0); // This should set the other's opacity back to 100% on mouseout   
    });
});

</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当鼠标悬停在一个列表元素上时,jQuery 使其他列表元素淡入淡出/变暗,我在那里 90%..? 的相关文章

  • 获取动态图像的宽度和高度

    我有一个img嵌入隐藏标签内div 当用户单击具有图像名称的动态超链接时 图像必须显示在模式窗口中 为了将 div 定位在模态窗口内 需要图像高度 但是当点击超链接后 src被分配 高度为0 所以图像不能在中间对齐 请帮助我在浏览器中显示图
  • 使用 jquery 迭代 json 数组

    已经有一些帖子和我遇到了类似的问题 如何使用 PHP 中的 jQuery AJAX 调用迭代 JSON 数组 https stackoverflow com questions 6472338 how do i iterate over a
  • 生成的表的行跨度导致额外的单元格

    HTML table border 1 cellspacing 1 width 100 thead tr td class csstextheader width 70px td td class csstextheader width 7
  • Android 上的 Chrome 强制隐藏地址栏

    我最近开发了一个获取混合 http https 内容的网站 因此 我总是将地址栏显示在顶部 它不会像其他网站那样自动隐藏 这就是我要说的 This https planetkde org 是网站的链接 内容是从各种来源获取的 因此无法过滤非
  • Firefox(仅限)动态表单操作不起作用

    控制台为操作属性返回空白 我已经移动了 file upload attr action io cfm action updateitemfile item id agenda modal attr data defaultitemid 周围
  • 如何使用 JQuery 隐藏和显示 HTML 元素?

    如何使用 JQuery 隐藏和显示 HTML 元素而不产生任何特殊效果 使用hide http docs jquery com Effects hide and show http docs jquery com Effects show方
  • ajax 调用成功后点击链接 href

    我有一个正常的链接 a href http www google com class continue Continue a 我已将点击绑定到一个事件来发布 ajax 请求 如下所示 continue click function ajax
  • jQuery - xpath 查找?

    如果您在 xml 中有下面的 xml 那么您会使用以下命令变得昏昏欲睡 xml find animal find dog find beagle text jQuery 中是否有类似的方法来使用 xpath xml xpathfind an
  • 迭代 div 内的输入

    我试图通过 jQuery 迭代放置在特定 div 上的所有输入 但没有响应 我无法使用警报查看输入的值 我究竟做错了什么
  • 如何重新启动/重置 Jquery 动画

    如何在 jquery 中重置动画 例如 CSS block position absolute top 0 left 0 JS block animate left 50 top 50 如果我做 block stop 动画将停止 但我怎样才
  • 从 jQuery 事件访问函数中的参数*和*事件

    这是我不久前问的另一个问题的后续问题 通常 您可以从 jQuery 事件的函数调用中访问事件 如下所示 item live click functionToCall 并在函数中 function functionToCall ev do s
  • blueimp jQuery 文件上传,无需 ajax

    我真的很喜欢选择文件并进行预览以及取消或删除选项的客户端处理 但是我想用表单上传页面 并且不需要使用ajax 我一直在摆弄所有选项 但无论如何我都找不到用同步选择的文件发布到表单的方法 是否可以让 data files 与表单一起发布 您可
  • Javascript/jQuery 变量未给出预期值

    和我之前的其他人一样 我也在 Javascript 的范围内苦苦挣扎 那并试图阅读该死的东西 我已经检查了关于这个问题的一些先前的线程 但我似乎无法让它们正确地应用于我的问题 在下面的示例中 我想操纵中的值tagsArr数组 一旦数组已完全
  • 是否有一个 jquery List 插件可以自动排序项目并具有强大的添加/删除方法?

    我已经在谷歌上搜索了几个小时 寻找一些东西来处理我的情况 我还不够熟练 无法编写自己的 jquery 插件 该插件应该自动对列表进行排序 这并不像能够轻松地从列表中添加 删除项目那么重要 Themeroller 功能将是一个优点 我基本上会
  • 使用 jQuery 获取样式标签内容?

    问题 我正在尝试获取内容在样式标签内但我无法让它工作 代码的作用 我使用 jQuery 并尝试使用 text 和 html 获取样式内容 这是行不通的 My code
  • 为什么使用 gridview:true 以及它的含义是什么?

    我正在 JqGrid 上工作 我想知道如果我们指定的话意味着什么gridview true 以及什么情况下我们需要提供 我最近正在开发一个这样的 jqGrid 和我的afterInsertRow没有被调用 一旦我删除了gridview tr
  • 启动 jQuery UI 选项卡,没有选项卡处于活动状态且所有面板都隐藏

    我在用着jQuery UI 选项卡 http jqueryui com tabs 在一个项目中 我想知道是否有一种简单的方法可以在文档加载时隐藏所有面板 直到单击选项卡为止 默认情况下 jQuery UI 以激活的选项卡和可见的相应面板开始
  • jQuery .nothas?

    有没有办法做相当于 nothas jQuery 中的选择器 例如 如果我想添加一个TBODY to all TABLE如果元素还没有 那么最好做这样的事情 TABLE nothas TBODY append tbody tbody 如果这可
  • 更改哈希值而不触发 hashchange 事件

    我使用哈希来动态加载内容 为了使后退按钮正常工作 我正在捕获哈希更改 然而 有时我需要更改哈希值而不触发哈希更改函数 例如 当页面重定向到服务器端时 我需要在内容返回后更新哈希值 我想出的最佳解决方案是取消绑定 hashchange 事件
  • asp.net mvc - Ajax 刷新视图的每个元素

    希望在退出 jquery 对话框后使用 ajax 刷新当前页面 我有一个包含 foreach 循环的视图 数据是从模型中提取的 每个循环有 2 个编辑 删除按钮 当我单击 编辑按钮 时 将打开一个 jquery UI 对话框进行编辑 当我保

随机推荐