当前位置: 首页 > news >正文

上海网站建设公司 珍岛网络营销的分类

上海网站建设公司 珍岛,网络营销的分类,openshift做网站,微商城分销源码问题描述:默认情况下 vue-grid-layout 移动卡片到页面底部时页面滚动条并不会跟随卡片滚动。 问题解决: 在 grid-item中的move事件中,获取到当前移动的元素,并使用scrollIntoView方法来实现滚动条跟随。 代码如下: c…

问题描述:默认情况下 vue-grid-layout 移动卡片到页面底部时页面滚动条并不会跟随卡片滚动。

在这里插入图片描述

问题解决:

grid-item中的move事件中,获取到当前移动的元素,并使用scrollIntoView方法来实现滚动条跟随。
代码如下:

const moveEvent = (i: any) => {let cIdx = layout.value.findIndex(item => item.i === i)let el = gridItemRefs.value[cIdx].$elsetTimeout(() => {el?.scrollIntoView({ behavior: "smooth", block: "end" })}, 300)
}

此时优化效果如下:
在这里插入图片描述

  • 但是上面优化还有一个小问题,将卡片右移可以无效无限右移。
    所以根据元素的lastX来控制一下:
const moveEvent = (i: any) => {let cIdx = layout.value.findIndex(item => item.i === i)let el = gridItemRefs.value[cIdx].$elsetTimeout(() => {console.log(gridItemRefs.value[cIdx].lastX, '===gridItemRefs.value[cIdx]');if (gridItemRefs.value[cIdx].lastX < 900) {el?.scrollIntoView({ behavior: "smooth", block: "end" })}}, 300)
}

同理,如果是从外层拖到元素进来,也可以使用 scrollIntoView来设置滚动条跟随。
代码如下:
在这里插入图片描述

const colNum = 12
const drag = (item: any) => {let parentRect = document.getElementById('content')?.getBoundingClientRect()!;let mouseInGrid = false;if (((mouseXY.x > parentRect.left) && (mouseXY.x < parentRect.right)) && ((mouseXY.y > parentRect.top) && (mouseXY.y < parentRect.bottom))) {mouseInGrid = true;}if (mouseInGrid === true && (layout.value.findIndex(item => item.i === 'drop')) === -1) {layout.value.push({x: (layout.value.length * 2) % (colNum || 12),y: layout.value.length + (colNum || 12), // puts it at the bottomw: item.w,h: item.h,i: 'drop',});}let index = layout.value.findIndex(item => item.i === 'drop');if (index !== -1) {try {gridItemRefs.value[layout.value.length - 1].$refs.item.style.display = "none";} catch {}let el = gridItemRefs.value[index];if (el) {setTimeout(() => {el.$el?.scrollIntoView({ behavior: "smooth", block: "nearest" })}, 300)el.dragging = { "top": mouseXY.y - parentRect.top, "left": mouseXY.x - parentRect.left };let new_pos = el.calcXY(mouseXY.y - parentRect.top, mouseXY.x - parentRect.left);if (mouseInGrid === true) {gridlayout.value.dragEvent('dragstart', 'drop', new_pos.x || 0, new_pos.y || 0, item.h, item.w);// dragEvent('dragstart', 'drop', new_pos.x || 0, new_pos.y || 0, defaultH, defaultW);DragPos.i = String(new Date().getTime());DragPos.x = layout.value[index].x;DragPos.y = layout.value[index].y;DragPos.w = layout.value[index].w;DragPos.h = layout.value[index].h;}if (mouseInGrid === false) {gridlayout.value.dragEvent('dragend', 'drop', new_pos.x || 0, new_pos.y || 0, item.h, item.w);// dragEvent('dragend', 'drop', new_pos.x || 0, new_pos.y || 0, defaultH, defaultW);layout.value = layout.value.filter(obj => obj.i !== 'drop');}}}
}
const dragend = () => {let parentRect = document.getElementById('content')?.getBoundingClientRect()!;let mouseInGrid = false;if (((mouseXY.x > parentRect.left) && (mouseXY.x < parentRect.right)) && ((mouseXY.y > parentRect.top) && (mouseXY.y < parentRect.bottom))) {mouseInGrid = true;}if (mouseInGrid === true) {gridlayout.value.dragEvent('dragend', 'drop', DragPos.x, DragPos.y, DragPos.h, DragPos.w);let delIndex = layout.value.findIndex(item => item.i === 'drop')layout.value.splice(delIndex, 1)// UNCOMMENT below if you want to add a grid-itemlayout.value.push({x: DragPos.x,y: DragPos.y,w: DragPos.w,h: DragPos.h,i: DragPos.i,});gridlayout.value.dragEvent('dragend', DragPos.i, DragPos.x, DragPos.y, DragPos.h, DragPos.w);try {gridItemRefs.value[layout.value.length - 1].$refs.item.style.display = "block";} catch {}}
}
http://www.mmbaike.com/news/40111.html

相关文章:

  • 厦门网站建设公司排行榜搜索引擎有哪些类型
  • ps做网站框架搭建seo优化推广
  • 部门子网站建设方案线上运营的5个步骤
  • 做网站可以用海外空间吗做一个网站的步骤
  • 食品核酸第三方检测机构seo技术优化技巧
  • 邯郸建设网站的公司哪家好杭州百度seo
  • 广州天河网站建设朋友圈信息流广告投放价格
  • 影视网站怎么做企业seo优化
  • 网站首页被降权怎么做百度手机助手app下载安装
  • 做的最好的相亲网站谷歌外贸网站推广
  • 个人兼职做建设网站看b站视频软件下载安装手机
  • 移动做网站吗公司专业网站建设
  • 建网站找兴田德润营销外包团队怎么收费
  • 吴忠市建设局网站天津百度搜索网站排名
  • 有账号密码网站怎么建设seo网站优化详解
  • 无锡网站建设无锡网络推广百度网盘app怎么打开链接
  • 美团网站做疏通广告360推广平台登录入口
  • 网络营销的建议方案seo推广培训中心
  • 有多少网站建设外包网络营销的方式有十种
  • 顺昌网站建设58百度搜索引擎
  • 网站后台不显示验证码app开发流程
  • 网站建设包括哪些内容跨境电商平台排行榜前十名
  • 政府网站建设基础爱站关键词挖掘
  • 鄂州市政府网站官网seo查询系统
  • 武汉汉口做网站哪家好最近三天发生的重要新闻
  • 潍坊网站制作价格关键词网站查询
  • 沧州企业网站专业定制深圳最好的外贸seo培训
  • wordpress获取当前文章标签泉州关键词优化软件
  • 门户网站内容管理系统产品营销方案策划书
  • ps做网站原形站长网站优化公司