<
meta
charset
=
"utf-8"
/>
<
title
>
</
title
>
<
script
src
=
"https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"
type
=
"text/javascript"
charset
=
"utf-8"
>
</
script
>
</
head
>
<
div
id
=
"pic"
style
=
"width:10000px;height:300px;font-size:100px;"
>
getY和getX同样道理,这两个差值就是鼠标相对于对象的定位,因为拖拽后鼠标和拖拽对象的相对位置是不变的
</
div
>
<
script
type
=
"text/javascript"
>
var
drag=
function
(obj)
{
obj.bind(
"mousedown"
,start);
function
start
(event)
{
if
(event.button==
0
){
gapX=event.clientX;
startx = $(window).scrollLeft();
$(document).bind(
"mousemove"
,move);
$(document).bind(
"mouseup"
,stop);
return
false
;
function
move
(event)
{
var
left = event.clientX-gapX;
$(window).scrollLeft(startx - left );
return
false
;
function
stop
()
{
$(document).unbind(
"mousemove"
,move);
$(document).unbind(
"mouseup"
,stop);
obj=$(
"#pic"
);
drag(obj);
</
script
>
</
body
>
</
html
>
效果 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8" /&gt; &lt;title&gt;&lt;/title&gt; &lt;script src="https://cdn.bootcss.co
我们都知道,pc端的
横向
滚动
条只能点击
滚动
条进行左右拖动,不能像移动端那样,直接在空白区域就可以左右拖动。
在我的项目中,因为需求是将整个网站的
滚动
条全部隐藏了,所以就不能点击
滚动
条来拖动。
效果图1:
效果图2:
效果图1代码:
<!DOCTYPE
html
>
<
html
lang="en">
<meta charset="UTF-8">
<meta name="viewport" content=..
然后,在事件处理函数 `handleMouseWheel` 中,你可以获取到
鼠标
滚轮事件对象 `event`,并
使用
`event.deltaX` 属性来获取滚轮的
滚动
距离。
最后,你可以
使用
这个
滚动
距离来更新你的组件的状态,例如,对
横向
滚动
位置进行偏移。
<template>
<
div
v-on:mousewheel="handleMouseWheel" style="overflow-x: scroll;">
<!-- 组件内容 -->
</
div
>
</template>
<script>
export default {
data() {
return {
scrollX: 0
methods: {
handleMouseWheel(event) {
this.scrollX += event.deltaX
</script>
这样,当用户在
横向
滚动
时,就可以通过
鼠标
滚轮来控制组件的
滚动
位置了。