悬停事件上的删除按钮

Ple*_*s81 6 javascript jquery

我对hoverIntent有真正的问题.

http://jsfiddle.net/5fwqL/

我想要的是:

  1. 将鼠标悬停在文本上约500毫秒时,我希望显示deletetext.
  2. 如果我按下删除按钮,我希望删除文本
  3. 如果我没有按下deletetext就退出文本我希望它隐藏()

JavaScript的

$(document).on({
mouseenter: function () {
    mouse_is_inside = true;
    $(this).next().slideDown();            
},

mouseleave: function () {
    mouse_is_inside = false;
    $(this).next().hide();   
}
}, '.title');

$('.deleteLink').on('click', function() {
   $(this).prev().remove();         
});
Run Code Online (Sandbox Code Playgroud)

HTML

<div>
   <div class='title'>TitleText</div>
   <div class='delete'><a class='deleteLink' href="#">delete...</a></div>
</div>
Run Code Online (Sandbox Code Playgroud)

**忘了提到它必须在IE8中工作,所以我必须使用旧式!**

joe*_*der 14

看看这个小提琴 http://jsfiddle.net/joevallender/42Tw8/

您可以使用CSS来处理显示和隐藏删除链接.假设您像这样嵌套HTML

<div class='title'>
    TitleText 1
    <a class='delete' href="#">delete...</a>
</div>
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样使用CSS

.delete{
    color: red;
    display: none;
}
.title:hover .delete {
   display:block  
}
Run Code Online (Sandbox Code Playgroud)

这实际上是删除/编辑链接的常见模式.该.title伪:悬停.delete意味着CSS的.delete当父将有.title伪正徘徊在.您也可以在示例中向父级添加一个任意类,如果您希望保持相同的HTML排列,则使用该类.

然后使用下面的JS来处理点击

$(document).ready(function(){
    $('.delete').click(function(){
        $(this).parent().remove();
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

那有意义吗?它的起点略有不同

编辑

对于我在评论中提到的淡入/淡出,你可以使用这样的东西

.delete{
    color: red;
    opacity:0;
    transition:opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -webkit-transition: opacity 0.5s linear;
}
.title:hover .delete {
   opacity: 1;
   transition:opacity 2s linear;
   -moz-transition: opacity 2s linear;
   -webkit-transition: opacity 2s linear;
}?
Run Code Online (Sandbox Code Playgroud)

EDIT2

更改了上面的代码,使用淡入和淡出的不同转换时间