要在 Vue + Element UI 的 el-drawer 组件中添加两个 iframe 标签,并且使得鼠标滚轮可以同时控制两个 iframe 中的网页滚动,你可以采用以下几种方法之一:
时间: 2024-10-23 21:07:50 浏览: 32
vue2.0 + element UI 中 el-table 数据导出Excel的方法
要在 Vue.js 环境下结合 Element UI 使用 `el-drawer` 元素添加两个 `iframe`,并允许鼠标滚轮事件同时控制这两个 `iframe` 的内容滚动,可以这样做:
1. **嵌套滚动容器**:
- 首先,在 `el-drawer` 内部创建一个自定义的滚动区域元素,比如一个 `div`,作为滚动容器。
- 将两个 `iframe` 放在这个容器内。
- 然后,给这个容器添加 `scroll` 事件监听器,通过阻止默认的行为,并处理滚动事件来同步滚动。
```html
<template>
<el-drawer ref="drawer">
<div class="scroll-container" @wheel.prevent="handleWheel($event)">
<iframe v-for="(iframe, index) in iframes" :key="index"></iframe>
</div>
</el-drawer>
</template>
<script>
export default {
data() {
return {
iframes: [iframe1Src, iframe2Src], // 填写实际的 iframe 源地址
};
},
methods: {
handleWheel(event) {
const container = this.$refs.drawer.$el.querySelector('.scroll-container');
const scrollTop = event.deltaY;
// 获取每个 iframe 的滚动高度
this.iframes.forEach((iframe, index) => {
const iframeElement = document.querySelector(`iframe:nth-child(${index+1})`);
iframeElement.contentWindow.scrollTo(0, Math.min(
iframeElement.contentDocument.body.scrollHeight,
iframeElement.contentWindow.scrollY + scrollTop
));
});
}
}
};
</script>
<style scoped>
.scroll-container {
overflow-y: auto; /* 添加滚动条 */
}
</style>
```
阅读全文