making a resizable div effect in vanilla js
making a resizable div effect in vanilla js
scroll image compare
<!DOCTYPE html>
<html lang="zh-Hans">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="xgqfrms">
<meta name="generator" content="VS code">
<title>scroll image compare</title>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.home-sec {
padding-top: 64px;
padding-bottom: 80px;
}
.before-after {
background: #283593;
}
.home-col {
width: 100%;
max-width: 1024px;
padding-left: 32px;
padding-right: 32px;
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
}
.home-sec h2 {
text-align: center;
}
.before-after .container {
width: 100%;
border-radius: 4px;
overflow: hidden;
position: relative;
cursor: col-resize;
box-shadow: 0 12px 24px 0;
rgba(0,0,0,.18);
min-height: 300px;
}
.before-after .before {
position: absolute;
height: 100%;
top: 0;
left: 0;
overflow: hidden;
border-right: 4px solid #00a2eb;
box-sizing: border-box;
}
.before-after .before img {
display: flex;
height: 100%;
}
</style>
</head>
<body>
<header>
<h1>scroll image compare</h1>
</header>
<main class="before-after home-sec">
<article class="home-col">
<h2 style="color: white;">Before & After</h2>
<section class="before-after">
<div class="container">
<!-- <div class="before" style="width: 972.5px;"> -->
<div class="before" style="width: 484.5px;">
<img srcset="https://cdn.xgqfrms.xyz/css-effects-all-in-one/images/before.png">
</div>
<img srcset="https://cdn.xgqfrms.xyz/css-effects-all-in-one/images/after.png" class="after">
<!-- <div class="before" style="width: 484.5px;">
<img src="https://www.fika.io/img/origin.290c77e9.png" srcset="https://cdn.xgqfrms.xyz/css-effects-all-in-one/images/before.png">
</div>
<img src="https://www.fika.io/img/latte.f6f60fee.png" srcset="https://cdn.xgqfrms.xyz/css-effects-all-in-one/images/after.png" class="after"> -->
</div>
</section>
<div>
<a href="https://www.fika.io/">https://www.fika.io/</a>
</div>
</article>
</main>
<footer>
<p>copyright© xgqfrms 2020</p>
</footer>
<!-- js -->
<script>
const log = console.log;
// const div = document.querySelector(`[class="before"]`);
const div = document.querySelector(`div.before`);
const box = document.querySelector(`div.container`);
// log(`box`, box)
// box.addEventListener(`mousedown`, (e) => {
// log(`mousedown`, e);
// });
box.addEventListener(`mousemove`, (e) => {
// log(`mousemove`, e);
const {
offsetX,
offsetY,
} = e;
// log(`offsetX`, offsetX);
// div.style.width = offsetX;
div.style.width = offsetX + `px`;
});
// box.addEventListener(`scroll`, (e) => {
// log(`scroll`, e);
// });
// box.addEventListener(`move`, (e) => {
// log(`move`, e);
// });
</script>
</body>
</html>
See the Pen scroll image compare by xgqfrms
(@xgqfrms) on CodePen.
refs
https://codepen.io/xgqfrms/pen/wvMQqZL
https://developer.mozilla.org/en-US/docs/Web/API/Element/mousemove_event
https://medium.com/the-z/making-a-resizable-div-in-js-is-not-easy-as-you-think-bda19a1bc53d
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
making a resizable div effect in vanilla js的更多相关文章
- JavaScript代码编写尝试使用Vanilla JS 或者Jquery插件
From Here: http://vanilla-js.com/ Vanilla JS is a fast, lightweight, cross-platform frameworkfor bui ...
- 动态添加div及对应的js、css文件
动态添加div及对应的js.css文件 在近期的项目开发中需要在首页中添加很多面板型的div,直接加载代码显得很繁琐,于是利用js封装一个动态添加div及其对应css文件和js文件的方法供大家参考使用 ...
- js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到
js文件需要jsp页面中的div时,此js文件必须在div之后才能获得值,否则获取不到 2.图2的内容为directionkey.js的内容
- 页面的div中有滚动条,js实现刷新页面后回到记录时滚动条的位置
当div中绑定数据,给它一个属性overflow-y: scroll,添加长度大小,使其能够出现滚动条:每次刷新的时候滚动条总是会出现在最上方,这使我很头疼,经过查阅网上资料,返现两种方法可行.如下: ...
- jquery load加载页面内ajax返回的div不能响应页面js的问题的解决方案
1. 前言 由于项目需要,需要load一个页面并保持ajax返回的div能响应其页面内的JS的click事件.这个不是 解决用jquery load加载页面到div时,不执行页面js的问题 这类问题, ...
- 页面DIV弹出层 JS原生脚本
<script type="text/javascript"> /* * 弹出DIV层 */ function showDiv() { ...
- [Tools] Unlock TypeScript's Features in Vanilla JS with @ts-check and JSDoc
TypeScript can help you with your plain JavaScript files if you add a simple //@ts-check comment. Th ...
- js 实现div模块的截图并下载功能(可制作长图)
当需要实现html页面部分模块截图并具有保存图片功能时,前台直接生成截图并下载会方便的多.多的不说,直接看代码首先我们需要引入2个js文件: <script type="text/ja ...
- JaveWeb 公司项目(7)----- 通过JS动态生成DIV
Web网页项目的数据表格功能已经大体完成,下面是另一个主要功能,在线视频的显示 目前我做的项目是渔政监控方面,在之前C#的版本中已经实现了摄像头的在线监控,用的海康封装好的SDK,目前需要做的工作是在 ...
随机推荐
- pytest fixtures装饰器的使用
一.pytest中可以使用@pytest.fixture 装饰器来装饰一个方法,被装饰方法的方法名可以作为一个参数传入到测试方法中.可以使用这种方式来完成测试之前的初始化,也可以返回数据给测试函数. ...
- 【链表】leetcode-1290-二进制链表转整数
leetcode-1290-二进制链表转整数 题目描述 给你一个单链表的引用结点 head.链表中每个结点的值不是 0 就是 1.已知此链表是一个整数数字的二进制表示形式. 请你返回该链表所表示数字的 ...
- 详解SpringMVC
详解SpringMVC 一.什么是MVC? MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范.就是将业务逻辑.数据.显示分离的方法来组织代码. ...
- Paginator Django 分页 When QuerySets are evaluated QuerySets 执行原理 QuerySets are lazy 惰性执行 访问db取数据的时机
https://docs.djangoproject.com/en/2.2/topics/pagination/ Paginator objects¶ The Paginator class has ...
- UserControl和CustomControl两者区别
UserControl 将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组: 由XAML和Code Behind代码组成: 不支持样式/模板重写: ...
- mysql本地中127.0.0.1连接不上数据库怎么办
首先在本地使用Navicat for MySQL建立一个bai数据库.在dreamweaver中建立一个PHP格式的网页,方便链接测试.测试发du现,如果zhi无法使用localhost链接mysql ...
- LOJ10141染色
SDOI 2011 染色 给定一棵有 n 个节点的无根树和 m 个操作,操作共两类. 将节点 a 到节点 b 路径上的所有节点都染上颜色: 询问节点 a 到节点 b 路径上的颜色段数量,连续相同颜色的 ...
- 反向传播(Back Propagation)
反向传播(Back Propagation) 通常在设计好一个神经网络后,参数的数量可能会达到百万级别.而我们利用梯度下降去跟新参数的过程如(1).但是在计算百万级别的参数时,需要一种有效计算梯度的方 ...
- 【wp】HWS计划2021硬件安全冬令营线上选拔赛
逆向手在夹缝中艰难求生系列. 这篇真的存粹是做题笔记了,对内核驱动啥的不太懂,pwn也不会,能做出来的题都是硬逆出来的( childre最后死活没整出来,后来看大佬的wp才知道对子进程有修改(.)呜呜 ...
- eclipse下执行maprdeuc程序报错 java.lang.ClassNotFoundException
最近遇到一个问题,不知怎么突然运行hadoop的map程序报错,困扰了我很久,现在来给大家分享分享.. 错误信息 2017-05-18 21:34:22,104 INFO [main] client. ...