0

我只是想要一个页面上的静态按钮/图像/div,onclick 激活一个单独的 div 从屏幕右侧滑动。这个链接实际上是我想要的:

http://jsfiddle.net/yHPTv/876/

问题是,我不希望按钮与它一起滑动,它应该保持在页面上的静态位置。然后,我希望在新可见的 div 中有一个“关闭”按钮。

$(function () {
    $("#clickme").toggle(function () {
        $(this).parent().animate({right:'0px'}, {queue: false, duration: 500});
    }, function () {
        $(this).parent().animate({right:'-280px'}, {queue: false, duration: 500});
    });
});
body {
    overflow-x: hidden;
}
#slideout {
    background: #666;
    position: absolute;
    width: 280px;
    height: 80px;
    top: 45%;
    right:-280px;
    padding-left: 20px
}
#clickme {
    position: absolute;
    top: 0; left: 0;
    height: 20px;
    width: 20px;
    background: #ff0000;
}
#slidecontent {
    float:left;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="slideout">
    <div id="slidecontent">
        Yar, there be dragonns herre!
    </div>
    <div id="clickme">
    </div>
</div>

4

1 回答 1

0

一种可能的解决方案是滑动内容 div。就像是:

http://jsfiddle.net/yHPTv/877/

更新的 CSS:

#slidecontent {
position: absolute;
right: 0px;
}

更新的 JS:

$(function () {
$("#clickme").toggle(function () {
    $(this).siblings("#slidecontent").animate({right:'280px'}, {queue: false, duration: 500});
}, function () {
    $(this).siblings("#slidecontent").animate({right:'0px'}, {queue: false, duration: 500});
});
});
于 2013-06-28T13:05:27.743 回答