鼠标跟随 html,鼠标跟随效果.html
.mouse-container{
background: #000;
width: 800px;
margin:20px auto;
}
table > tr > td {
color:transparent;
width: 40px;
height: 40px;
border: 1px solid #000;
}
.border{
border: 1px solid #fff;
background: #333;
}
.border-gray-top{
border: 1px solid #aaa;
border-top: 1px solid #000;
background: #222;
}
.border-gray-bottom{
border: 1px solid #aaa;
border-bottom: 1px solid #000;
background: #222;
}
.border-gray-left{
border: 1px solid #aaa;
border-left: 1px solid #000;
background: #222;
}
.border-gray-right{
border: 1px solid #aaa;
border-right: 1px solid #000;
background: #222;
}
.border-top-left{
border-top: 1px solid #666;
border-left: 1px solid #666;
}
.border-top-right{
border-top: 1px solid #666;
border-right: 1px solid #666;
}
.border-bottom-left{
border-bottom: 1px solid #666;
border-left: 1px solid #666;
}
.border-bottom-right{
border-bottom: 1px solid #666;
border-right: 1px solid #666;
}
const container = document.getElementsByClassName("mouse-container")[0];
const table = document.createElement("table");
for (let i = 0; i < 20; i++) {
const tr = document.createElement("tr");
for (let j = 0; j < 20; j++) {
const td = document.createElement("td");
td.classList.add(`${i}-${j}`);
td.innerHTML = `${i}-${j}`;
tr.appendChild(td);
td.addEventListener("mouseleave",(e)=>{
if(e.target.nodeName.toLowerCase()==="td"){
e.target.classList.remove("border");
const [xAxis,yAxis] = e.target.innerHTML.split("-");
if(xAxis-1>=0){
const topTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis}`)[0];
topTarget.classList.remove("border-gray-top");
}
if(xAxis*1<19){
const bottomTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis}`)[0];
bottomTarget.classList.remove("border-gray-bottom");
}
if(yAxis-1>=0){
const leftTarget = document.getElementsByClassName(`${xAxis}-${yAxis-1}`)[0];
leftTarget.classList.remove("border-gray-left");
}
if(yAxis*1<19){
const rightTarget = document.getElementsByClassName(`${xAxis}-${yAxis*1+1}`)[0];
rightTarget.classList.remove("border-gray-right");
}
if(xAxis-1>=0 && yAxis-1>=0){
const topLeftTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis-1}`)[0];
topLeftTarget.classList.remove("border-bottom-right");
}
if(xAxis*1<19 && yAxis-1>=0){
const topLeftTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis-1}`)[0];
topLeftTarget.classList.remove("border-top-right");
}
if(xAxis-1>=0 && yAxis*1<19){
const topLeftTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis*1+1}`)[0];
topLeftTarget.classList.remove("border-bottom-left");
}
if(xAxis*1<19 && yAxis*1<19){
const bottomRightTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis*1+1}`)[0];
bottomRightTarget.classList.remove("border-top-left");
}
}
})
}
table.appendChild(tr);
}
container.appendChild(table);
table.addEventListener("mousemove",(e)=>{
if(e.target.nodeName.toLowerCase()==="td"){
e.target.classList.add("border");
const [xAxis,yAxis] = e.target.innerHTML.split("-");
if(xAxis-1>=0){
const topTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis}`)[0];
topTarget.classList.add("border-gray-top");
}
if(xAxis*1<19){
const bottomTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis}`)[0];
bottomTarget.classList.add("border-gray-bottom");
}
if(yAxis-1>=0){
const leftTarget = document.getElementsByClassName(`${xAxis}-${yAxis-1}`)[0];
leftTarget.classList.add("border-gray-left");
}
if(yAxis*1<19){
const rightTarget = document.getElementsByClassName(`${xAxis}-${yAxis*1+1}`)[0];
rightTarget.classList.add("border-gray-right");
}
if(xAxis-1>=0 && yAxis-1>=0){
const topLeftTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis-1}`)[0];
topLeftTarget.classList.add("border-bottom-right");
}
if(xAxis*1<19 && yAxis-1>=0){
const topLeftTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis-1}`)[0];
topLeftTarget.classList.add("border-top-right");
}
if(xAxis-1>=0 && yAxis*1<19){
const topLeftTarget = document.getElementsByClassName(`${xAxis-1}-${yAxis*1+1}`)[0];
topLeftTarget.classList.add("border-bottom-left");
}
if(xAxis*1<19 && yAxis*1<19){
const bottomRightTarget = document.getElementsByClassName(`${xAxis*1+1}-${yAxis*1+1}`)[0];
bottomRightTarget.classList.add("border-top-left");
}
}
});
// container.innerHTML = "看看我在哪儿"
一键复制
编辑
Web IDE
原始数据
按行查看
历史
鼠标跟随 html,鼠标跟随效果.html相关推荐
- 鼠标跟随动画,粒子效果
鼠标跟随动画,粒子效果 canvas动画,鼠标跟随 项目下载地址:项目包下载 实现逻辑: a.需要引入创建粒子背景的 JavaScript 库: particles.js b. 配置动画参数,鼠标跟随 ...
- 通过触摸屏幕/鼠标 图片跟随手指 加滑动效果
<领导关怀版本 需求3> 一:图片本地加载,打字效果,循环播放 二:通过触摸屏幕/鼠标 滑动 三:跟随手指,滑动效果 版本系列(一):实现了读取本地图片,循环播放功能 版本系列(二):原来 ...
- html鼠标点击切换图片,js鼠标点击图片切换效果代码分享
本文实例讲述了js鼠标点击图片切换效果.分享给大家供大家参考.具体如下: 实现原理很简单,其实是多张图片叠加起来,点击图片后依次赋予图片一个class,使其看起来在表面而已,点击图片,可以实现图片的不 ...
- android 小球效果,Android开发实现跟随手指的小球效果示例
本文实例讲述了android开发实现跟随手指的小球效果.分享给大家供大家参考,具体如下: 配置drawview类用于绘制小球 public class drawview extends view { ...
- DW里面html鼠标点击特效,dw制作鼠标经过时图像放大鼠标离开图像回原形效果
网页制作图片特效有很多种,其中鼠标经过图片,可以有图片变大或切换图片的效果,在一些网购平台上我们就可能会看到将鼠标放置在一个商品上时,商品的图片可能会变大或变成商品其他角度的图片了,这其实就是两个比较 ...
- [读码][js,css3]能感知鼠标方向的图片遮罩效果
效果图: 无意间看到过去流行的一个效果:[能感知鼠标方向的图片遮罩效果] 近来不忙,就仔细的看了一看 看到后来发现,网上有好多版本,谁是原著者似乎已经无法考证. 读码就要读比较全面的,读像是原著的代码 ...
- JavaScript-鼠标事件(鼠标点击松开移动效果)
鼠标和键盘事件是在页面操作中使用最频繁的操作,可以利用鼠标事件在页面中实现鼠标移动.单击时的特殊效果,也可以利用键盘来制作页面的快捷键等. 鼠标的单击事件 单击事件(onclick)是在鼠标单击时被触 ...
- css 侧栏跟随_简单代码实现智能侧边栏跟随固定浮动的效果
很多网站博客都喜欢用"侧栏跟随"的效果,也就是随着滚动条的滚动,而跟着滑动或者固定的效果:感觉非常的人性化,一来可以弥补当一个页面很长,但侧边栏太短的时候的空白,二来可以合理利用空 ...
- css 侧栏跟随_如何实现博客的侧栏跟随(滚动条)效果
现在许多web2.0风格的网站都喜欢用"侧栏跟随"的效果,就是当一个页面很长的时候,设定侧栏内容会跟随滚动条,这种效果适用于评论较多.内容较长的网站. 这种特效对提高网站浏览量.文 ...
- html怎么给图片加鼠标滑过效果,jquery给图片添加鼠标经过时的边框效果
一哥们儿要给图片添加鼠标经过时的边框效果,可惜出发点错了,直接加在了IMG外的A标签上致使 鼠标经过时图片产生塌陷,实则应该将边框控制直接加在IMG标签上即可 错误代码如下:注意红色部分设置 (出发点 ...
最新文章
- Class 'PDO' not found 错误
- delphi 串口通信发送_STM32第五章串口通讯详解
- java并发核心知识体系精讲_JVM核心知识体系
- python等值面图平滑_离散点插值方法、等值线的绘制及平滑技巧
- ASP.NET数据库访问系列教程01-概述篇 创建数据访问层(下)
- Linux在超级计算机领域一统天下
- MongoDB基本用法
- java 托盘开发_基于java开发之系统托盘的应用
- linux系统启动报错:[contains a file system with errors, check forced]的解决方法参考【ZT】
- SAP License:系统退货处理流程
- 【7-4使用inception-v3做各种图像的识别】
- java 实体类重写排序,对自定义对象进行排序(C++/Java) | 学步园
- (转载) MTK之NVRAM研究[三]
- 机器学习- 吴恩达Andrew Ng Week8 知识总结 Dimensionality Reduction
- 笑得肚痛!程序猿的 46 张 GIF 搞笑图
- Backup Exec启动时,系统报“CLR20r3“错误
- 仿QQ音乐(HTML+CSS)
- Kettle详细使用教程
- Win10系统任务栏出现假死现象的解决办法
- python字典包含字典_Python字典教学
热门文章
- JQuery 动画滑动显示和隐藏方式 slideDown\slideUp\slideToggle
- Windows下Apache安装步骤(一看就会)
- 【一步一个脚印】从零开始搭建SSM框架-- 1.1 配置JDK
- Origin如何绘制三维离散点并拟合曲面?
- 写文章登录Nature子刊:基于深度学习预测家族性阿尔兹海默症患者临床前功能性脑老化
- 二叉树的锯齿形层序遍历
- 和pink老师学习CSS
- 三分钟了解Spring Cloud Gateway路由转发之自动路由
- 分割蛋糕c语言实验报告,蛋糕制作实验报告.doc
- 什么是i口碑,企业做好口碑营销有什么用?