水平拖拽滚动条

【教学视频】网页特效_水平拖拽滚动条案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>由于8的不适用复杂嵌套的盒子,如果父盒子太多且都定位的话,8不在适用,不利于后期封装</title>
    <style>
        *{margin:0;padding:0;}
        .line {
            width: 400px;
            height: 10px;
            background-color: #CCC;
            margin: 100px;
            position: relative;
        }
        .line .tag {
            width: 10px;
            height: 30px;
            background-color: #ec5c00;
            position: absolute;
            top: -10px;
            left: 0;
            cursor: pointer;
        }
        .line .bc {
            width: 0;
            height: 10px;
            background-color: #0e90d2;
        }
    </style>
</head>
<body>
<div class="line" id="line">
    <div class="tag"></div>
    <div class="bc"></div>
</div>
</body>
</html>
<script>
    var line = document.getElementById("line");
    var tag = line.children[0];
    var bc = line.children[1];

    leDrag(bc,tag);

    /**
     *  address:
     *  水平拖动
     * @param target 受bar拖动而改变背景的目标盒子
     * @param bar
     */
    function leDrag(target,bar) {
        var step = 0;
        bar.onmousedown = function(event) {
            var event = event || window.event;
            // bar被按下的位置距离浏览器左窗口距离
            var barLeft = event.clientX - this.offsetLeft;

            document.onmousemove = function(event) {
                var event = event || window.event;
                step = event.clientX-barLeft;
                if(step<0){
                    step = 0;
                }else if(step>bar.offsetParent.offsetWidth - bar.offsetWidth){
                    step = bar.offsetParent.offsetWidth - bar.offsetWidth;
                }
                bar.style.left = step + "px";
                target.style.width = step + "px";

                // 清除选择拖动,不写这句话,会出现如果滑的快,弹起后依旧跟着鼠标走
                window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
            }
            //  是document的onmouseup事件,不是tag的
            document.onmouseup = function() {
                // 清除事件
                document.onmousemove = null;
            }
        }
    }
</script>

原文地址:https://www.cnblogs.com/liudaihuablogs/p/9458877.html

时间: 2024-10-12 15:35:54

水平拖拽滚动条的相关文章

jquery美化滚动条插件jscrollpane应用(转)

原文地址:http://www.jqcool.net/jquery-jscrollpane.html jScrollPane是一个设计非常灵活的跨浏览器的jQuery ,它将浏览器的默认滚动条或是元素溢出时出现的滚动条映射成一个HTML结构,从而很容易地使用CSS来定义滚动的样式.下面来看下这个强大而灵活的jScrollPane的使用方法吧. 引入核心文件,为了更方便的使用,这里引入了mousewheel库 <!-- styles specific to demo site --> <l

jQuery拖拽插件制作拖拽排序特效

基于jQuery拖拽插件制作拖拽排序特效是一款非常实用的鼠标拖拽布局插件.效果图如下: 在线预览   源码下载 实现的代码. html代码: <h1>水平拖拽</h1> <div class="demo"> <div class="item item1"><span>1</span></div> <div class="item item2"><

iOS中的ScrollView

概览 UIScrollView类为显示大于应用程序窗口的内容提供支持.它使得用户可以使用滑动手势来滚动,并可以使用扩张/收缩手势来放大缩小部分内容. UIScrollView是包括UITableView和UITextView在内的多个UIKit类的父类. UIScrollView对象(或者简单地称为滚动视图)的中心思想是一个在它的内容视图中可调整的原点的视图.它裁剪它的内容至它本身的框架,该框架一般(但非必须)与应用程序主窗口的框架相符.滚动视图会跟踪手指的移动并据此调整原点.“通过”滚动视图显

【FastDev4Android框架开发】神器ViewGragHelper完全解析之详解实现QQ5.X侧滑酷炫效果(三十四)

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50043159 本文出自:[江清清的博客] (一).前言: 这几天正在更新录制实战项目,整体框架是采用仿照QQ5.X侧滑效果的.那么我们一般的做法就是自定义ViewGroup或者采用开源项目MenuDrawer或者Google提供的控件DrawerLayout等方式来实现.这些的控件的很多效果基本上都是采用实现onInterceptTouchEvent和onTouch

关于UIScrollView属性跟方法的总结

iOS中UIScollView的总结 在iOS开发中可以说UIScollView是所有滑动类视图的基础,包括UITableView,UIWebView,UICollectionView等等,UIScrollView类为显示大于应用程序窗口的内容提供支持.它使得用户可以使用滑动手势来滚动,并可以使用扩张/收缩手势来放大缩小部分内容.UIScrollView类可以拥有一个代理,该代理采用UIScrollViewDelegate协议.对于缩放的工作,代理必须实现viewForZoomingInScro

【FastDev4Android框架开发】打造QQ6.X最新版本侧滑界面效果(三十八)

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50253925 本文出自:[江清清的博客] (一).前言: 这两天QQ进行了重大更新(6.X)尤其在UI风格上面由之前的蓝色换成了白色居多了,侧滑效果也发生了一些变化,那我们今天来模仿实现一个QQ6.X版本的侧滑界面效果.今天我们还是采用神器ViewDragHelper来实现,之前我们以前基于ViewDragHelper的使用和打造QQ5.X效果了,基本使用方法可以点

JQueryUI-拖动(Draggable)-约束运动

说明 通过定义 draggable 区域的边界来约束每个 draggable 的运动.设置 axis 选项来限制 draggable 的路径为 x 轴或者 y 轴 示例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <

PPT快速绘制桨形图形设计

桨形图形设计结果如下 具体操作如下:新建一个PPT,点击“插入—形状—椭圆”.按住Shift拖拽一个正圆形.然后按住Ctrl+shift键水平拖拽复制出另外一个圆.(如下图所示) 继续选中其中一个圆,在垂直方向上进行复制.一样可以利用按住Ctrl键拖拽鼠标的方法.注意四个圆交叉的十字中心位置(如下图所示) 接下来本例最关键的步骤,在“插入--形状—直线”中,按住Shift键,可以拖拽出斜45度的直线,并移置(穿过)四个圆的相交点.如下图所示: 然后以这两条的交叉的斜线为基准,让下图中四个红色圆形

Draggable(拖动)组件 属性、事件、方法

Draggable(拖动)即实现页面元素的拖动效果. 一.加载方式 1.css样式加载: <div id="box" class="easyui-draggable" style="width:200px;height:150px;background:#F5F6F7;">     内容部分 </div> 使用css样式加载Draggable,方便快捷,但是不利于管理,所以我们有课第二种加载方式,使用Jquery方式加载,