如图所示,el-select官方事件并没有监听滚动的事件,所以我们可以采用vue的directives自定义指令实现。
首选在src也就是main.js的同级目录下新建一个directives.js文件
在main.js中引入并注册
index.vue 在下拉框中加入v-loadmore=“加载事件名”即可实现
注意:其他细节自行注意,例如加载到底或者下拉框有联动等。
一:去掉全部的滚动条第一个方法:
iframe
有一个scrolling属性,它有
auto
,
yes
,
no
这三个值。
scrolling
:
auto
-----在需要的时候滚动条出现
scrolling
:
yes
------始终显示滚动条
scrolling
:
no
-------始终隐藏滚动条
当设置
scrolling
:
no
时,全部的滚动条就没有了。
第二个方法:我发现除了
scrolling
可以去掉全部的滚动条外,还有另一个方法,在嵌入的页面里设置
body{overflow:hidden},这样也可以将滚动条去掉,而且这也是当我们只想去掉某一个滚动条所使用的属性。
二:去掉右边的滚动条且保留底下的滚动条
如果只想保留底下的滚动条,那么可以在嵌入的页面里设置
body{overflow-x:auto
overflow-y:hidden;}
思路:当滚动条到达底部时,调用js方法去加载数据
代码如下:
<div style="height:1600pxborder:1px solid red">设高度模拟滚动</div>//引入js
<script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript">
$(function () {
$(window).scroll(function () {
//浏览器所能看到的页面的那部分的高度
var winH = $(window).height()
var scrH = $(window).scrollTop()//滚动的高度
//获取整个页面的高度 htmH为设置的滚动到的高度位置
var htmH = $(document).height() - 100
//可见高度+滚动高度 超出 设置的高度,触发方法
if (winH + scrH >= htmH) {
//到达底部-100的高度,触发方法
alert(1)
}
})
})
</script>