javascript - 悬停时的 jQuery 可排序列表句柄

标签 javascript jquery jquery-ui jquery-ui-sortable

我正在创建一个带有排序句柄的列表。我不喜欢 20 个可见 handle 的美观,因此我尝试使 handle 仅在鼠标悬停在列表项上时才出现。

这是我的第一次尝试:

jsFiddle #1

正如您所看到的,将鼠标悬停在列表中的项目上会产生相当不和谐的移动和列表项目的错位。为了解决这个问题,我创建了一个空白的 16px 图像,当 handle 不可见时,我用它来替换它。它创造了比悬停更好的用户体验,正如您在此处看到的:

jsFiddle #2

$(this).prepend("<img src=http://i.imgur.com/tzGrVLc.png class=\"blank-sprite\" / width=16 height=16 border=0>");

问题是,在排序过程中,16px 图像经常会消失,导致内容不对齐。 (我会发布一张图片,但我没有声誉。)这种情况并不总是发生,但当我快速排序时,似乎会更频繁地发生。

我很想知道为什么会发生这种情况以及如何解决它。谢谢!

最佳答案

您应该将图标元素的 CSS 位置属性设置为绝对。这是为了给你一个想法:

SEE DEMO

var $icon = $("<span class=\"ui-icon ui-icon-grip-dotted-vertical\" style=\"display:inline-block\" id=\"handle\" /></span>").css({
            position:'absolute',
            top:$(this).offset().top+5,
            left:$(this).offset().left-10
        });
$(this).prepend($icon); 

关于javascript - 悬停时的 jQuery 可排序列表句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810144/

相关文章:

javascript - 追加文本 Javascript

javascript - Mobile Safari (iPhone) 对 Javascript GET 请求有 30 秒以上的延迟

javascript - 使用自定义 JQuery 文件

javascript - 使用 onClick 添加的表单字段验证 HTML 表单

jQuery UI 可拖动 iFrame 内容

javascript - 内联简单幻灯片 jQuery/UI 图像

javascript - 如何在不使用 JS 按下任何键的情况下检测 CAPS LOCK STATUS 是否处于事件状态?

javascript - 在页面加载时删除特定的 CSS 规则或选择器

jquery-ui - 附加主题

javascript - 在(React + Material-ui)中的 JSX 文件中使用正则表达式