当鼠标悬停在一个列表元素上时,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%..? 的相关文章

  • “错误”:使用保管箱选择器时出现“无效来源”

    div div
  • 使用 jquery 生成网站的屏幕截图

    我想严格使用 javascript 生成任何给定 url 的屏幕截图缩略图 如果这无法完成 任何人都可以指出我使用自己的 api 执行此操作的正确方向吗 编辑我只是决定作弊并使用框架 因为无论如何 这是我为了好玩而做的事情 但是感谢所有出色
  • 如何重置 jQuery 中的单选按钮,以便不检查任何单选按钮

    我在 HTML 中有这样的单选按钮 td td
  • 如何过滤 jQuery.ajax() 返回的数据?

    当使用jQuery ajax 方法中 我正在努力过滤返回的数据以获取我所需要的数据 我知道这很容易使用 load 可能还有其他 jQuery AJAX 方法 但我需要使用 ajax 具体来说 例如 我知道这是可行的 var title da
  • 如何在ListBox中加载大量数据? ASP.NET MVC 应用程序

    我正在使用 ASP NET MVC 应用程序 要求用户能够从可能包含超过 30 000 个条目的列表框中选择一个项目 是否有一种使用 Ajax 调用来填充此 ListBox 内容的动态方法 效果良好 我是否最好只填充服务器上的 ListBo
  • 使用Rails UJS,如何从函数提交远程表单

    我正在使用Rails UJS 我有一个表单设置来进行远程提交 如下所示
  • 如何获取 jquery datepicker 的当前活动实例

    我在单个页面上有多个日期选择器控件绑定到输入控件 当我单击链接到该输入的任何输入控件时 日期选择器控件将可见 现在我想要获取在另一个 JS 事件上显示日期选择器的当前实例的输入 是否可以 您可以尝试使用 datepicker getInst
  • jQuery 提取 div 内的文本,但不在 p 标签中

    在下面的代码中 我想将一个变量放入文本中div但不是里面的东西p tag div class review content merchant review content I want to grab this text p class r
  • jquery覆盖加载栏div

    所以我有一个数据表 并且我正在使用 ajax 获取数据 当检索数据时 表中的数据消失并出现一个小的加载圆圈 我希望数据保留 我知道如何做到这一点 并且加载圆圈出现在表格的中心 不一定是垂直的 至少是水平的 以及稍微透明的背景阻挡稍微超出表格
  • 使用 JQuery 定义要附加的 HTML 模板

    我有一个正在循环的数组 每次条件成立时 我想附加一份副本HTML下面的代码到具有一些值的容器元素 我可以在哪里放置此 HTML 以以智能方式重复使用 a href class list group item div class image
  • 无法选择或取消选择 jQuery UI 模态对话框中的复选框

    我使用 jQuery UI 的对话框来显示一些选项 每个选项都表示为复选框 现在 当我打开对话框并单击复选框时 没有任何反应 复选框没有被选中 我正在使用 jQuery UI 的最新版本 谁能告诉我出了什么问题吗 这是代码 div atta
  • 获取点击元素的 HTML 内容 jQuery

    我有以下 HTML
  • jQuery stopPropagation 不起作用

    我正在使用以下内容选色器 https github com meta100 mColorPicker blob master javascripts mColorPicker js它工作正常 但是当我单击颜色选择器图标时 我不希望它冒泡到主
  • Jquery 拖放和克隆

    嗨 我需要实现这个 我有一套可掉落的物品 基本上我是在服装上掉落设计 并且我正在掉落一个克隆 如果我不喜欢删除的对象 设计 我想通过执行隐藏之类的操作来删除它 但我无法做到这一点 请帮我 这是代码 var clone document re
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • 防止jsTree节点选择

    我正在使用 jsTree 插件列出文件系统中的文件夹 我需要防止用户在满足特定条件之前更改到另一个节点 下面的代码不会停止传播 我看到了一些使用其他插件的解决方案 但这是一个简单的任务 没有其他插件它一定是可能的 jstree on sel
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • javascript中输入类型时间的值

    我有这个html
  • 使用 jquery 通配符检查 cookie 名称

    我有一个生成动态 cookie 的表单 例如 webform 62 1234356 62 1234356 可以是任意数字 我需要使用一些通配符检查来检查名称以 webform 开头的 cookie 是否存在 下面不起作用 if cookie
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i

随机推荐