如何为HTML元素创建鼠标拖动滑块?

时间:2013-06-10 20:57:23

标签: javascript jquery html css web-applications

我找到的许多滑块插件要么只是单击以查看下一个图像,要么只有鼠标拖动或触摸拖动功能,才允许图像。有没有人知道插件或可能的方法为任何HTML元素编写鼠标拖动滑块?我特意使用SVG,但将来有一些东西在div元素之间滑动会很好。

1 个答案:

答案 0 :(得分:16)

HTML:

<div id="slider">
    <ul>
        <li style="background-color: #F00"></li>
        <li style="background-color: #0F0"></li>
        <li style="background-color: #00F"></li>
    </ul>
</div>

CSS:

#slider {
    width: 400px;
    overflow: hidden;
}
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
li {
    width: 400px;
    height: 400px;
    float: left;
}

JS:

$(function() {
    var slides = $('#slider ul').children().length;
    var slideWidth = $('#slider').width();
    var min = 0;
    var max = -((slides - 1) * slideWidth);

    $("#slider ul").width(slides*slideWidth).draggable({
        axis: 'x',
        drag: function (event, ui) {
        if (ui.position.left > min) ui.position.left = min;
            if (ui.position.left < max) ui.position.left = max;
        }
    });
});

<强> jsFiddle code