关于scoll设置的一些问题

关于scoll设置的一些问题

<template>
    <div class="home">
      <header class="g-header-container">
        <home-header/>
      </header>
      <me-scroll>
        <home-slider/>
        <home-slider/>
        <home-slider/>
        <home-slider/>
        <home-slider/>
        <home-slider/>
        <home-slider/>
        <home-slider/>
      </me-scroll>
      <div class="g-backtop-container">

      </div>
      <router-view></router-view>
    </div>
</template>

<script>
  import HomeHeader from './header';
  import HomeSlider from './slider';
  import MeScroll from 'base/scroll';
    export default {
        name: "index",
      components:{
          HomeHeader,
          HomeSlider,
          MeScroll
      }
    }
</script>

<style lang="scss" scoped>
  @import  "~assets/scss/mixins";
  .home{
    over-flow:hidden;
    width: 100%;
    height: 100%;
    background-color: $bgc-theme;
  }
  .home .swiper-container{
    overflow: hidden;
    width: 100%;
    height: 617px;
  }


</style>

<template>
 <swiper :options="swiperOption">
   <swiper-slide>
     <slot></slot>
   </swiper-slide>
   <div class="swiper-scrollbar" v-if="scrollbar" slot="scrollbar"></div>
 </swiper>
</template>

<script>
   import {swiper,swiperSlide} from 'vue-awesome-swiper';

   export default {
       name: "MeScroll",
     components:{
         swiper,
       swiperSlide
     },
     props:{
         scrollbar:{
           type:Boolean,
           default:true
         }
     },
     data(){
       return {
         swiperOption: {
            direction:'vertical',
           slidesPerView: 'auto',
           freeMode:'true',
           setWrapperSize:true,
           scrollbar:{
              el:this.scrollbar ? '.swiper-scrollbar':null,
             hide:true
           }
         }
       }
     }
   }
</script>

<style lang="scss" scoped>

 .swiper-slide{
   height: auto;
 }
</style>


设置swiper-container的height为100%,并不能让图片进行拖动,只有设置实际页面的确切高度才可以,这是为什么呢?因为一开始设置为100%的时候,在谷歌浏览器的style上确实显示出来swiper-container的高度为100%。

滚动条进行滚动的时候就只是单独的一条黑色竖线,并没有白色的竖线在显示当前在滚动条的位置,用鼠标滚轮不可进行滚动,这是为什么呢?是完全模拟了手机端的手指上下滑动嘛?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕言 2019-12-27 14:04:02

同学你好,使用同学提供的代码放到源码中测试,给类名为swiper-container元素的高度设置100%,高度是617px,如下图:
http://img1.sycdn.imooc.com//climg/5e059e7b09277d0714330683.jpg


另外:给home元素设置的溢出隐藏书写是有问题的,可参考下图修改

http://img1.sycdn.imooc.com//climg/5e059e9a09afd82404190232.jpg

如果还有其他疑问,建议在问答区重新提问,便于后期查找总结

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

好帮手慕言 2019-12-27 10:53:56

同学你好,关于同学的疑问,解答如下:
1、swiper-container的height为100%,里面的内容要高度要设置的比swiper-container元素的高度要高,才能滚动,不然不能滚动。也就是下方图中的情况是可以滚动的。

http://img1.sycdn.imooc.com//climg/5e0571c309a5979b07680646.jpg

2、用鼠标的滚轮不能滚动,因为在手机上是没有滚轮的。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕用0863198 #1
    我知道这个意思,但是视频里老师设置height为100%就实现效果了,我这里还需要设置一个确切的高度值是为什么呢
    2019-12-27 10:55:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师