使用静态div从屏幕右边缘滑动div

时间:2013-06-28 12:43:02

标签: html screen slide edge

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

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

代码:

<div id="slideout">
    <div id="slidecontent">
        Yar, there be dragonns herre!
    </div>
    <div id="clickme">
    </div>
</div>

JavaScript的:

$(function () {
    $("#clickme").toggle(function () {
        $(this).parent().animate({right:'0px'}, {queue: false, duration: 500});
    }, function () {
        $(this).parent().animate({right:'-280px'}, {queue: false, duration: 500});
    });
});

CSS:

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;
}

问题是,我不希望按钮随之滑动,它应该保持在页面上的静态位置。然后,我会在新显见的div中找到一个“关闭”按钮。

1 个答案:

答案 0 :(得分: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});
});
});