实时获取div滚动条滚动距离

实时获取div滚动条滚动距离,第1张

<style>

b{

width:400px;

height:300px;

background-color:#CC0;

overflow-y:scroll;

}

</style>

<body>

<div class="b" id="b">子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单<br>子菜单</div>

</body>

<script>

var w = documentgetElementById("b");

wonscroll=function(e)

{

consolelog(wscrollTop);

}

</script>

以上代码测试通过

,首先要判断拖入的文件是否符合要求,包括类型、大小等,然后获取本地信息,实现预览,最后上传。

$(function(){

接上部分

var box = documentgetElementById('drop_area'); //拖拽区域

boxaddEventListener("drop",function(e){

epreventDefault(); //取消默认浏览器拖拽效果

var fileList = edataTransferfiles; //获取文件对象

//检测是否是拖拽文件到页面的 *** 作

if(fileListlength == 0){

return false;

}

//检测文件是不是

if(fileList[0]typeindexOf('image') === -1){

alert("您拖的不是!");

return false;

}

//拖拉到浏览器,可以实现预览功能

var img = windowwebkitURLcreateObjectURL(fileList[0]);

var filename = fileList[0]name; //名称

var filesize = Mathfloor((fileList[0]size)/1024);

if(filesize>500){

alert("上传大小不能超过500K");

return false;

}

var str = "<img src='"+img+"'><p>名称:"+filename+"</p><p>大小:"+filesize+"KB</p>";

$("#preview")html(str);

//上传

xhr = new XML>

自带拖拽功能

其他元素可设置draggable属性

例子:

>

一、关于拖拽API

拖拽API是HTML5的新特性,相对于其他新特性来说,重要程度占到6成,实际开发中使用比例占到3成,学习要求个人认为是达到掌握即可的程度。

二、什么是拖拽和释放?

拖拽:Drag

释放:Drop

拖拽指的是鼠标点击源对象后一直移动对象不松手,一但松手即释放了

三、什么是源对象和目标对象?

源对象:指的是我们鼠标点击的一个事物,这里可以是一张,一个DIV,一段文本等等。

目标对象:指的是我们拖动源对象后移动到一块区域,源对象可以进入这个区域,可以在这个区域上方悬停(未松手),可以释松手释放将源对象放置此处(已松手),也可以悬停后离开该区域。

四、拖拽API的相关函数

解释了什么是源对象和目标对象后,回归前端中的拖拽API,由上面的 *** 作我们可以得出几个函数

被拖动的源对象可以触发的事件:

(1)ondragstart:源对象开始被拖动

(2)ondrag:源对象被拖动过程中(鼠标可能在移动也可能未移动)

(3)ondragend:源对象被拖动结束

拖动源对象可以进入到上方的目标对象可以触发的事件:

(1)ondragenter:目标对象被源对象拖动着进入

(2)ondragover:目标对象被源对象拖动着悬停在上方

(3)ondragleave:源对象拖动着离开了目标对象

(4)ondrop:源对象拖动着在目标对象上方释放/松手

拖拽API总共就是7个函数!!

五、如何在拖动的源对象事件和目标对象事件间传递数据

HTML5为所有的拖动相关事件提供了一个新的属性:

edataTransfer { } //数据传递对象

功能:用于在源对象和目标对象的事件间传递数据

源对象上的事件处理中保存数据:

edataTransfersetData( k, v ); //k-v必须都是string类型

目标对象上的事件处理中读取数据:

var v = edataTransfergetData( k );

一个完整的drag and drop流程通常包含以下几个步骤:

1设置可拖拽目标设置属性draggable="true"使元素编程可拖拽对象

2监听dragstart设置拖拽数据

3为拖拽 *** 作设置反馈图标(可选)

4设置允许的拖放效果,如copy,move,link

5设置拖放目标,默认情况下浏览器阻止所有的拖放 *** 作,所以需要监听dragenter或者dragover取消浏览器默认行为使元素可拖放

6监听drop事件执行所需 *** 作

这些是HTML5的新特性,如果你想了解更有相关的知识,你可以在一个叫做秒秒学的网站查找相关资料。

边框间的距离一般用margin设置,可以分着写margin-top, margin-right, margin-bottom, margin-left。分别设置四个边距。

也可以连写,margin的四个值,对应上面的顺序,不加可以写0,值可以是具体像素数值也可以是百分比。也可以两个值,分别是上下和左右。也可以是三个值,方位对应上,左右,下。

值得注意的是,上下两个盒子的边距会重叠,值取大的那个边距。

以上就是关于实时获取div滚动条滚动距离全部的内容,包括:实时获取div滚动条滚动距离、怎样用html5实现拖拽上传文件、HTML5拖拽事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9780658.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存