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

飞浪网站建设网站推广系统方案

飞浪网站建设,网站推广系统方案,开发一款软件的费用,linux wordpress 建站教程最近的一个功能是编写一个pdf展示的组件,外部传入pdf的链接,根据这个功能,可以使用iframe去展示pdf,目前主要是将预览pdf的样式调整成与屏幕宽高一样 1.pdf使用iframe 2.使用translate将这个组件,使用to属性将目标元素…

最近的一个功能是编写一个pdf展示的组件,外部传入pdf的链接,根据这个功能,可以使用iframe去展示pdf,目前主要是将预览pdf的样式调整成与屏幕宽高一样
1.pdf使用iframe
2.使用translate将这个组件,使用to属性将目标元素传到body中(to就是目标元素。 接收一个 to prop 来指定传送的目标。
3.显示,隐藏的动画效果可以使用transition组件对iframe进行包裹
具体代码如下:

<template><!-- 使用 teleport 将遮罩层和 iframe 渲染到 body 中 --><teleport to="body"><!-- 遮罩层动画 --><transition name="fade"><div v-if="showOverlay" class="overlay"><!-- 取消按钮 --><button class="close-button" @click="closeOverlay">取消</button></div></transition><!-- iframe 动画 --><transition name="scale"><iframev-if="showOverlay && pdfUrl":src="pdfUrl"width="100%"height="100%"frameborder="0"class="pdf-iframe"></iframe></transition></teleport>
</template><script setup>
import { ref, watch } from 'vue';// 定义 props
const props = defineProps({pdfUrl: {type: String,required: true,},show: {type: Boolean,required: true,},
});// 定义 emits
const emit = defineEmits(['close']);// 响应式数据
const showOverlay = ref(props.show);// 监听 props.show 的变化
watch(() => props.show,(newVal) => {showOverlay.value = newVal;}
);// 关闭遮罩的方法
const closeOverlay = () => {showOverlay.value = false;emit('close'); // 通知父组件关闭
};
</script><style scoped>
/* 遮罩层样式 */
.overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); /* 半透明黑色遮罩 */z-index: 1000; /* 确保遮罩层在最上层 */display: flex;justify-content: center;align-items: center;
}/* 取消按钮样式 */
.close-button {position: absolute;top: 20px;right: 20px;padding: 10px 20px;background-color: #ff4d4f; /* 红色背景 */color: white;border: none;border-radius: 5px;cursor: pointer;font-size: 16px;
}.close-button:hover {background-color: #ff7875; /* 鼠标悬停时的颜色 */
}/* iframe 样式 */
.pdf-iframe {position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 80%;height: 80%;z-index: 1001; /* iframe 在遮罩层之上 */background-color: white;border-radius: 8px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}/* 遮罩层淡入淡出动画 */
.fade-enter-active,
.fade-leave-active {transition: opacity 0.3s ease;
}.fade-enter-from,
.fade-leave-to {opacity: 0;
}/* iframe 缩放动画 */
.scale-enter-active,
.scale-leave-active {transition: all 0.3s ease;
}.scale-enter-from,
.scale-leave-to {opacity: 0;transform: translate(-50%, -50%) scale(0.8);
}
</style>

如果在父组件使用,如下代码

<template><div><!-- 打开 PDF 的按钮 --><button @click="openPdf">打开 PDF</button><!-- 使用 PdfViewer 组件 --><PdfViewer:pdfUrl="pdfUrl":show="showPdfViewer"@close="closePdfViewer"/></div>
</template><script setup>
import { ref } from 'vue';
import PdfViewer from './components/PdfViewer.vue'; // 引入 PdfViewer 组件// 定义响应式数据
const pdfUrl = ref('');
const showPdfViewer = ref(false);// 打开 PDF 的方法
const openPdf = () => {pdfUrl.value = '/path/to/your/pdf/file.pdf'; // 可以是本地或远程 PDF 文件路径showPdfViewer.value = true;
};// 关闭 PDF 的方法
const closePdfViewer = () => {showPdfViewer.value = false;pdfUrl.value = '';
};
</script><style>
/* 父组件的样式 */
</style>
http://www.dtcms.com/wzjs/311643.html

相关文章:

  • 肇庆住房城乡建设局网站百度知道合伙人官网登录入口
  • 学习java可以自己做网站吗网络热词作文
  • wordpress建站阿里云深圳百度快速排名提升
  • wordpress 多站点 多域名逆冬seo
  • 站点创建成功有影响吗软文素材库
  • 番禺品牌型网站怎么做app推广和宣传
  • 外贸网站制作策划引擎优化seo怎么做
  • 网站开发者工作描述小时seo加盟
  • 石家庄网站制作福州企业做个网站多少钱
  • 格尔木哪里有做网站的2023年10月爆发新冠
  • 中山哪里有做微网站的国内疫情最新消息
  • flash怎么制作网站百度seo推广怎么收费
  • 我想做自己网站怎么做搜索引擎优化是指什么意思
  • 溧阳网站开发画质优化app下载
  • 顺德新网站建设湖南今日新闻最新头条
  • 徐州免费网站建设班级优化大师简介
  • 建网站是自己做还是用CMS如何去除痘痘有效果
  • 国际网站建设的目的网站建设的整体流程有哪些
  • 做网站需要的带宽上行还是下行百度广告代理
  • 网站建设评估网络营销有什么岗位
  • 上海建设交通委网站湖州seo排名
  • 广州的兼职网站建设短视频推广公司
  • 物业网站宣传册怎么做如何推广app更高效
  • 网站开发入职转正申请书北京排名seo
  • 自助建站系统免费模式竞价托管推广代运营
  • 计算机网站建设待遇网络服务
  • 闵行专业做网站开发网站建设
  • 网站域名需要申请国外直播平台tiktok
  • 做网站站怎么赚钱吗知名做网站的公司
  • 网站建设凭证下载应用商店