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

网站开发 发送邮件功能HTML与wordpress兼容

网站开发 发送邮件功能,HTML与wordpress兼容,北京网上申请营业执照,东莞现在属于什么风险地区在前端开发中#xff0c;实现一个可拖动的固定位置 div#xff0c;并且根据拖动的状态控制其显示和隐藏#xff0c;同时在特定条件下显示悬浮按钮#xff0c;涉及以下技术和原理#xff1a; 技术细节和实现步骤#xff1a; 1. HTML 结构#xff1a; !DOC…在前端开发中实现一个可拖动的固定位置 div并且根据拖动的状态控制其显示和隐藏同时在特定条件下显示悬浮按钮涉及以下技术和原理 技术细节和实现步骤 1. HTML 结构 !DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDraggable Fixed Div with Auto Hide and Floating Button/title style/* CSS 样式定义拖拽元素和悬浮按钮的样式 */ /style /head body!-- 拖拽的固定位置的 div -- div iddraggablepDrag me!/pbuttonClick me/button /div!-- 默认显示的悬浮按钮 -- div iddragButtonShow/div!-- JavaScript 脚本实现拖拽、自动隐藏和按钮显示逻辑 -- script// JavaScript 代码部分 /script/body /html 2. CSS 样式 #draggable {width: 200px;height: 200px;background-color: #ccc;position: fixed;top: 50px;left: 50px;touch-action: none; /* 禁止浏览器默认行为如滚动 */transition: transform 0.3s ease; }#draggable.hidden {transform: scale(0);visibility: hidden; }#dragButton {position: fixed;bottom: 20px;right: 20px;background-color: #007bff;color: white;padding: 10px 20px;cursor: pointer; } • #draggable 样式定义拖拽元素的基本样式包括固定位置、尺寸、背景色等。 • .hidden 类样式用于控制拖拽元素隐藏时的动画效果。 • #dragButton 样式定义悬浮按钮的基本样式包括位置、背景色、文字颜色等。 3. JavaScript 交互 const draggable document.getElementById(draggable); const dragButton document.getElementById(dragButton); let offsetX, offsetY; let isDragging false; let autoHideTimeout; let lastVisiblePosition { top: 50, left: 50 }; // 初始位置// 触摸事件处理 draggable.addEventListener(touchstart, touchStart); draggable.addEventListener(touchmove, touchMove); draggable.addEventListener(touchend, touchEnd);// 鼠标事件处理 draggable.addEventListener(mousedown, mouseDown); document.addEventListener(mousemove, mouseMove); document.addEventListener(mouseup, mouseUp);// 初始隐藏拖拽元素 draggable.classList.add(hidden);function touchStart(e) {const touch e.touches[0];offsetX touch.clientX - draggable.getBoundingClientRect().left;offsetY touch.clientY - draggable.getBoundingClientRect().top;isDragging true; }function touchMove(e) {if (!isDragging) return;e.preventDefault(); // 阻止默认的滚动行为const touch e.touches[0];let newX touch.clientX - offsetX;let newY touch.clientY - offsetY;// 限制拖动范围在可视区域内const maxX document.documentElement.clientWidth - draggable.offsetWidth;const maxY document.documentElement.clientHeight - draggable.offsetHeight;newX Math.max(0, Math.min(newX, maxX));newY Math.max(0, Math.min(newY, maxY));draggable.style.left ${newX}px;draggable.style.top ${newY}px;// 判断靠近边缘并自动贴边if (newX 10) {draggable.style.left 0;} else if (newX maxX - 10) {draggable.style.left ${maxX}px;}if (newY 10) {draggable.style.top 0;} else if (newY maxY - 10) {draggable.style.top ${maxY}px;}// 更新最后显示位置lastVisiblePosition { top: parseInt(draggable.style.top), left: parseInt(draggable.style.left) };// 自动隐藏计时器重置clearTimeout(autoHideTimeout);draggable.classList.remove(hidden);dragButton.style.display none; }function touchEnd() {isDragging false;// 设置自动隐藏autoHideTimeout setTimeout(() {draggable.classList.add(hidden);// 固定悬浮按钮位置dragButton.style.top 20px;dragButton.style.right 20px;dragButton.style.display block;}, 5000); // 5秒后自动隐藏 }function mouseDown(e) {offsetX e.clientX - draggable.getBoundingClientRect().left;offsetY e.clientY - draggable.getBoundingClientRect().top;isDragging true; }function mouseMove(e) {if (!isDragging) return;e.preventDefault(); // 阻止默认的拖动行为let newX e.clientX - offsetX;let newY e.clientY - offsetY;// 限制拖动范围在可视区域内const maxX document.documentElement.clientWidth - draggable.offsetWidth;const maxY document.documentElement.clientHeight - draggable.offsetHeight;newX Math.max(0, Math.min(newX, maxX));newY Math.max(0, Math.min(newY, maxY));draggable.style.left ${newX}px;draggable.style.top ${newY}px;// 判断靠近边缘并自动贴边if (newX 10) {draggable.style.left 0;} else if (newX maxX - 10) {draggable.style.left ${maxX}px;}if (newY 10) {draggable.style.top 0;} else if (newY maxY - 10) {draggable.style.top ${maxY}px;}// 更新最后显示位置lastVisiblePosition { top: parseInt(draggable.style.top), left: parseInt(draggable.style.left) };// 自动隐藏计时器重置clearTimeout(autoHideTimeout);draggable.classList.remove(hidden);dragButton.style.display none; }function mouseUp() {isDragging false;// 设置自动隐藏autoHideTimeout setTimeout(() {draggable.classList.add(hidden);// 固定悬浮按钮位置dragButton.style.top 20px;dragButton.style.right 20px;dragButton.style.display block;}, 5000); // 5秒后自动隐藏 }dragButton.addEventListener(click, () {draggable.classList.remove(hidden);dragButton.style.display none; }); 技术和原理分析 • HTML 结构使用 div 元素创建拖拽的固定位置容器和悬浮按钮配合 CSS 控制其样式。 • CSS 样式定义了拖拽元素和悬浮按钮的基本样式包括位置、背景色等利用 transition 属性实现元素显示隐藏的动画效果。 • JavaScript 交互 • 拖拽实现通过 touchstart, touchmove, touchend, mousedown, mousemove, mouseup 等事件监听器实现移动设备和桌面设备上的拖拽功能。在拖动过程中更新拖拽元素的位置并根据距离屏幕边缘的距离自动贴边。 • 自动隐藏和按钮显示逻辑利用 setTimeout 实现拖拽元素在一定时间内无操作后自动隐藏并显示固定位置的悬浮按钮。点击悬浮按钮则重新显示拖拽元素。可以根据需要选择显示固定位置或者根据最后显示位置动态调整的悬浮按钮。 最后完整代码 !DOCTYPE html html langen head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 titleDraggable Fixed Div with Auto Hide and Floating Button/title style#draggable {width: 200px;height: 200px;background-color: #ccc;position: fixed;top: 50px;left: 50px;touch-action: none; /* 禁止浏览器默认行为如滚动 */transition: transform 0.3s ease;}#draggable.hidden {transform: scale(0);visibility: hidden;}/* 默认固定悬浮按钮 */#dragButton {position: fixed;bottom: 20px;right: 20px;background-color: #007bff;color: white;padding: 10px 20px;cursor: pointer;}/* 根据最后显示位置调整的悬浮按钮 *//*#dragButton.dynamic {position: fixed;background-color: #007bff;color: white;padding: 10px 20px;cursor: pointer;display: none;}*/ /style /head bodydiv iddraggablepDrag me!/pbuttonClick me/button /divdiv iddragButton classfixedShow/div !-- div iddragButton classdynamicShow/div --scriptconst draggable document.getElementById(draggable);const dragButton document.getElementById(dragButton);let offsetX, offsetY;let isDragging false;let autoHideTimeout;let lastVisiblePosition { top: 50, left: 50 }; // 初始位置// 触摸事件处理draggable.addEventListener(touchstart, touchStart);draggable.addEventListener(touchmove, touchMove);draggable.addEventListener(touchend, touchEnd);// 鼠标事件处理draggable.addEventListener(mousedown, mouseDown);document.addEventListener(mousemove, mouseMove);document.addEventListener(mouseup, mouseUp);draggable.classList.add(hidden);function touchStart(e) {const touch e.touches[0];offsetX touch.clientX - draggable.getBoundingClientRect().left;offsetY touch.clientY - draggable.getBoundingClientRect().top;isDragging true;}function touchMove(e) {if (!isDragging) return;e.preventDefault(); // 阻止默认的滚动行为const touch e.touches[0];let newX touch.clientX - offsetX;let newY touch.clientY - offsetY;// 限制拖动范围在可视区域内const maxX document.documentElement.clientWidth - draggable.offsetWidth;const maxY document.documentElement.clientHeight - draggable.offsetHeight;newX Math.max(0, Math.min(newX, maxX));newY Math.max(0, Math.min(newY, maxY));draggable.style.left ${newX}px;draggable.style.top ${newY}px;// 判断靠近边缘并自动贴边if (newX 10) {draggable.style.left 0;} else if (newX maxX - 10) {draggable.style.left ${maxX}px;}if (newY 10) {draggable.style.top 0;} else if (newY maxY - 10) {draggable.style.top ${maxY}px;}// 更新最后显示位置lastVisiblePosition { top: parseInt(draggable.style.top), left: parseInt(draggable.style.left) };// 自动隐藏计时器重置clearTimeout(autoHideTimeout);draggable.classList.remove(hidden);dragButton.style.display none;}function touchEnd() {isDragging false;// 设置自动隐藏autoHideTimeout setTimeout(() {draggable.classList.add(hidden);// 固定悬浮按钮位置dragButton.style.top 20px;dragButton.style.right 20px;dragButton.style.display block;// 动态悬浮按钮位置/*dragButton.classList.add(dynamic);dragButton.style.top ${lastVisiblePosition.top}px;dragButton.style.left ${lastVisiblePosition.left}px;*/}, 5000); // 5秒后自动隐藏}function mouseDown(e) {offsetX e.clientX - draggable.getBoundingClientRect().left;offsetY e.clientY - draggable.getBoundingClientRect().top;isDragging true;}function mouseMove(e) {if (!isDragging) return;e.preventDefault(); // 阻止默认的拖动行为let newX e.clientX - offsetX;let newY e.clientY - offsetY;// 限制拖动范围在可视区域内const maxX document.documentElement.clientWidth - draggable.offsetWidth;const maxY document.documentElement.clientHeight - draggable.offsetHeight;newX Math.max(0, Math.min(newX, maxX));newY Math.max(0, Math.min(newY, maxY));draggable.style.left ${newX}px;draggable.style.top ${newY}px;// 判断靠近边缘并自动贴边if (newX 10) {draggable.style.left 0;} else if (newX maxX - 10) {draggable.style.left ${maxX}px;}if (newY 10) {draggable.style.top 0;} else if (newY maxY - 10) {draggable.style.top ${maxY}px;}// 更新最后显示位置lastVisiblePosition { top: parseInt(draggable.style.top), left: parseInt(draggable.style.left) };// 自动隐藏计时器重置clearTimeout(autoHideTimeout);draggable.classList.remove(hidden);dragButton.style.display none;}function mouseUp() {isDragging false;// 设置自动隐藏autoHideTimeout setTimeout(() {draggable.classList.add(hidden);// 固定悬浮按钮位置 dragButton.style.right 20px;dragButton.style.display block;// 动态悬浮按钮位置/*dragButton.classList.add(dynamic);dragButton.style.top ${lastVisiblePosition.top}px;dragButton.style.left ${lastVisiblePosition.left}px;*/}, 5000); // 5秒后自动隐藏}dragButton.addEventListener(click, () {draggable.classList.remove(hidden);dragButton.style.display none;// 动态悬浮按钮位置的显示控制// dragButton.classList.remove(dynamic);}); /script/body /html 这篇博客文章介绍了如何利用 HTML、CSS 和 JavaScript 实现一个具有拖拽、自动隐藏和悬浮按钮的交互效果适用于创建可定制的用户界面体验。
http://www.w-s-a.com/news/511905/

相关文章:

  • 网站添加wordpress博客网上商城购物系统论文
  • 上海市建设安全协会网站王夑晟企业网站建设需要做些什么
  • 网站app 开发辽宁建设工程信息网官网新网站是哪个
  • 厦门建设企业网站建设wordpress添加形式
  • 建立什么网站可以赚钱室内设计效果图qq群
  • 厦门网站设计大概多少钱服务公司沈傲芳
  • 如何起手做网站项目百度站长app
  • dede 购物网站wordpress主题超限
  • 做啊录音网站WordPress音乐悬浮插件
  • 安徽建设厅证书查询网网站网站策划与运营课程认知
  • wordpress证书关闭重庆seo优化效果好
  • 直播网站建设模板网站活动怎么做的
  • 医院网站建设网站网站开发工资高嘛
  • 个人网站备案内容写什么做网站是不是涉及很多语言职
  • 怎么用手机做一个网站门户网站建设工作的自查报告
  • 网站搭建怎么收费浙江建设集团网站
  • 建网站怎么赚钱免费引流软件下载
  • 自建网站服务器备案做基础销量的网站
  • 淘宝 网站建设 发货音乐网站首页设计
  • 丽水做网站杭州建电商网站多少钱
  • 建设网站能解决什么问题wordpress 模板 中文
  • 平台型网站建设预算表友情链接中有个网站域名过期了会影响
  • 漯河网站开发运营seo是什么意思
  • 网站建设的征求意见稿iis 网站 红
  • 网站搭建教室企业网站开发实训心得
  • 阿克苏建设网站佛山app定制
  • 做淘宝网站要求与想法大型网站建设推荐
  • 在百度做网站赚钱吗跨境电商网站开发
  • 酒店网站建设策划方案南昌网站建设南昌
  • 临沂罗庄做网站房产cms