jQuery关闭按钮效果/风格

And*_*rés 1 css jquery button

我希望实现一种效果,在将鼠标悬停在div上一段时间后出现关闭按钮.我怎么能这样做?顺便说一句,我是jQuery的新手.

这是一个类似于我想要的东西的例子

在此输入图像描述

角落里的那个"x"我想出现在我的一个设计中.

谢谢大家

到目前为止我做了什么:

jQuery的:

$("#slider #content").on("hover", '.element', function(evt) {
    var top, left;
    top = $(this).offset().top;
    left = $(this).offset().left;
    $(".close-button").css({"top":top, "left":left});
    $(".close-button").show();
 });
Run Code Online (Sandbox Code Playgroud)

我认为div和div的样式如果不是无关紧要,我会在这里发布.

Dav*_*mas 8

在给出以下HTML的情况下,这是执行此操作的一种方法:

<a href="#" class="modalShow">show modal</a> <a href="#" class="modalShow">show modal</a>
<div class="modal">
    <span class="close">X</span>
    <p>Some text in the first modal div</p>
</div>
<div class="modal">
    <span class="close">X</span>
    <p>Some text in the second modal div</p>
</div>?
Run Code Online (Sandbox Code Playgroud)

而CSS:

.modal {
    display: none;
    width: 50%;
    padding: 0.5em;
    min-height: 6em;
    border: 10px solid #000;
    border: 10px solid rgba(0,0,0,0.5);
    position: absolute;
    top: 20%;
    left: 50%;
    margin-left: -25%;
}
span.close {
    display: none;
    position: absolute;
    top: -2.5em;
    left: -2.5em;
    width: 2em;
    height: 2em;
    text-align: center;
    line-height: 2em;
    border: 10px solid #000;
    border: 10px solid rgba(0,0,0,0.5);
    border-radius: 2em;
    background-color: #fff;
    cursor: pointer;
}?
Run Code Online (Sandbox Code Playgroud)

和jQuery:

$('a.modalShow').click(
    function() {
        // finds which link was clicked, and therefore which modal to show
        var i = $(this).index('.modalShow'); 
        // fades all the modal elements out
        $('.modal').fadeOut(1000);
        // fades the relevant modal in
        $('.modal').eq(i).fadeIn(1000);
    });

$('.modal').hover(
    function() {
        // while hovering over the modal, it fades the close element in after a delay
        $(this).find('.close').delay(1000).fadeIn(500);
    },
    function() {
        // after leaving/mouseout of the the modal, has a delay and then fades the close out
        $(this).find('.close').delay(1000).fadeOut(500);
    });

$('span.close').click(
    function(){
        // clicking the close span causes the closest ancestor modal to fadeout
        $(this).closest('.modal').fadeOut(1000);
    });?
Run Code Online (Sandbox Code Playgroud)

JS小提琴演示.

参考文献: