<script setup>
import { ref, onMounted} from 'vue'
import ImgWall from './ImgWall.vue';
const slideShow = ref(null)
defineProps({
msg: String,
const lock = ref(false)
const ImgWallRef = ref(null)
onMounted(() => {
console.log("渲染完成")
slideShow.value.addEventListener('mousewheel',mousewheelHandler)
function mousewheelHandler(event) {
if (lock.value) {
return
if (event.wheelDelta < 0){
lock.value = true
scrollHandler()
function scrollHandler() {
console.log("滚动")
console.log(document.querySelector('.img-wall'))
document.querySelector('.img-wall').scrollIntoView({ behavior: 'smooth'})
</script>
<template>
<div class="container" ref="slideShow">
代码省略CSDN:https://blog.csdn.net/weixin_45721179
</div>
<div class=".img-wall"></div>
<ImgWall ref="ImgWallRef"/>
</template>
css省略
在滚动后无法移动到元素位置,并且不报错,但是在控制台输入
document.querySelector('.img-wall').scrollIntoView({ behavior: 'smooth'})
可正确滚动,并且将这句放入onMounted也可正确实现移动效果,通过点击事件去执行也可正常触发效果,但有概率中途卡停
起初意外是dom元素获取出现了问题,后多次测试发现是smooth的问题,改成auto即可实现滚动,但无过渡效果
综合考虑还是使用类似轮播图切换的方式来切换下一页比较稳妥
微信小程序scroll-view的scroll-into-view无效如何解决
最近在写小程序项目遇到这么一个问题:在使用scroll-into-view的时候无效。
在网上查了一遍,给出的答案有:
1.给scroll-view要设置高度,必须设置上scroll-y或者scroll-x为true(必须要的)
2.scroll-into-view初始化设置的时候,可能因为页面或者数据未加载不能跳转。...
背景:左菜单栏,右内容栏,点击左菜单栏,右边自动
滚动到指定位置,其中右边固定高度,超出显示
scroll。
解决:调用
scrollInto
View后,再修改下
scrollTop
document.documentElement.
scrollTop = document.documentElement.
scrollTop - 1;
el.
scrollInto
View()
会将元素滚到窗口可见范围内,包括水平跟垂直
当加上参数 behavior: "smooth" 时,在特殊情况下(现在还没搞懂是什么原因),
scrollInto
View 会刚刚好地,将元素右边紧贴着窗口右边界,不多也不少(正常情况下是会多出那么一点的)。
导致后续的
滚动执行了但
不生效。
解决办法是加上参数 inline: "start"(inline 默认是 “nearest”)。这样可以避免
滚动后元素右边紧贴窗口右边界。不会出现滚不动的问题
之前在一次开发中,用到scrollIntoView方法,但遇到神奇的事情,居然无法生效。。。。
在一顿猛烈的排查下才发现该方法需要页面完全加载后才能生效,以下是避免踩雷的方法
运用vue中的this.$nextTick方法
this.$nextTick(()=>{
document.getElementById(target).scrollIntoView();
利用setTimeout方法
setTimeout(function(){
dom.scrollIntoView({
behavior: "smooth",
block: "nearest", //"start",// | "center" | "end" | "nearest", // 默认
inline: "nearest"
我的框架是react hook 开发
useEffect(() => {
const anchorElement = document.getElementById('current-module'); // 第一步获取到滚动元素
if (selectModuleIndex === 0 && anchorElement) {
anchorElement.scrollTop
官方文档写的简单:
Element 接口的scrollIntoView()方法会滚动元素的父容器,使被调用scrollIntoView()的元素对用户可见。
element.scrollIntoView(); // 等同于element.scrollIntoView(true)
element.scrollIntoView(alignToTop);// Boolean型参数
element.scrollIntoView(scrollIntoViewOptions);// Object型参数
今天需要做一个点击icon滑动到文章评论区的功能,采用了scrollIntoView,发现在移动端偶现失效了。
代码如下:
commentRef.current.scrollIntoView({
behavior: 'smooth',
思考1 是否由于浏览器bug导致
据这篇博文描述是由于滑动过程中进行了原生事件的监听就会阻断事件继续执行。
因此替换成 scollTo,发现滑动有改善,但是还是有定位不准的问题。
根据这个回答得出可以采用 requestAnimatio
横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果);
纵向视图scroll-into-view指定的id为yellowgreen,效果图中显示的则是yellowgreen(达到了效果);
转载于:https://www.cnblogs.com/loveamyforever/p/6287571.html...
uniapp qq小程序启动报错 VM20:252 The “path“ argument must be of type string. Received type boolean
CSDN-Ada助手:
uniapp qq小程序启动报错 VM20:252 The “path“ argument must be of type string. Received type boolean
code happy: