一个拖动鼠标写字的效果

按住鼠标左键不放,在页面中拖动即可写字 ; 同时按住ctrl和鼠标左键不放,在页面中拖动即可把字擦去

挺有意思的效果,大家共享哈。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>鼠标拖动写字</title>

<style type="text/css">

* {

-moz-user-select:none;

border:0px;

}

#tips {

width:850px;

padding-top:8px;

padding-bottom:8px;

background:#999999;

color:#FFFFFF;

text-align:center;

margin:auto;

font-size:14px;

}

</style>

<script type="text/javascript">

var Is_Mouse_Down = false

var Is_First=1

function Create(evt){

evt=evt?evt:window.event

if(Is_Mouse_Down){

if(evt.ctrlKey){

Clean(evt)

}

else {

Write(evt)

}

}

}

function Write(evt){

evt=evt?evt:window.event

var Obj_Nian=document.createElement("DIV")

Obj_Nian.style.position="absolute"

Obj_Nian.style.left=evt.clientX-10+"px"

Obj_Nian.style.top=evt.clientY-10+"px"

switch(Is_First){

case 1:Obj_Nian.innerHTML="你";break;

case 2:Obj_Nian.innerHTML="看";break;

case 3:Obj_Nian.innerHTML="我";break;

case 4:Obj_Nian.innerHTML="会";break;

case 5:Obj_Nian.innerHTML="写";break;

case 6:Obj_Nian.innerHTML="字";break;

default:Obj_Nian.innerHTML="Error";break;

}

Is_First+=1

if(Is_First==7){

Is_First=1

}

Color_Nian="RGB("+Math.floor(Math.random()*100)+"%,"+Math.floor(Math.random()*100)+"%,"+Math.floor(Math.random()*100)+"%)"

Obj_Nian.style.color=Color_Nian

document.body.appendChild(Obj_Nian)

}

function Clean(evt){

evt=evt?evt:window.event

evt.srcObj=evt.srcElement?evt.srcElement:evt.target

if(evt.srcObj.tagName=="DIV" && (evt.srcObj.innerHTML=="你" || evt.srcObj.innerHTML=="看" || evt.srcObj.innerHTML=="我" || evt.srcObj.innerHTML=="会" || evt.srcObj.innerHTML=="写" || evt.srcObj.innerHTML=="字")){

evt.srcObj.innerHTML=""

}

}

document.onmousedown=function(){Is_Mouse_Down=true}

document.onmousemove=Create

document.onmouseup=function(){Is_Mouse_Down=false}

</script>

</head>

<body onselectstart="javascript:return false">

<div id="tips">提示:按住鼠标左键不放,在页面中拖动即可写字 ; 同时按住ctrl和鼠标左键不放,在页面中拖动即可把字擦去</div>

</body>

</html>

提示:你可以先修改部分代码再运行。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

【前端开发系列】—— 通过鼠标浮动改变样式

这个简单的demo,可以应用到很多地方。比如导航鼠标移动到上方时,可以改变样式,或者触发下拉框,等等。很有意思 1 <html> 2 <head> 3 <...

1649
来自专栏cnblogs

bootstrap源码分析之scrollspy(滚动侦听)

源码文件: Scrollspy.js 实现功能 1、当滚动区域内设置的hashkey距离顶点到有效位置时,就关联设置其导航上的指定项 2、导航必须是 .nav...

16610
来自专栏练小习的专栏

分享一个跨浏览器固定定位的方法。

我发现原来做前端真的是需要创意的。前几天看到别人用boeder代替边距做hover效果,这次又看到用这个办法做固定定位的,解开了我一个心结。 其实很简单,就是我...

18810
来自专栏Ryan Miao

博客园主题修改中用到的css属性

样式覆盖 id选择器大于class选择器。 对于原主题中想要覆盖的id选择器,使用!import覆盖。 对于原主题中想要取消的css属性,使用inherit. ...

2807
来自专栏DannyHoo的专栏

单元格的点击问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

701
来自专栏跟着阿笨一起玩NET

html打印表格每页都有的表头和打印分页

本文转载:http://www.cnblogs.com/RitchieChen/archive/2008/07/30/1256829.html

521
来自专栏飞扬的花生

Bootstrap学习------Tabel

     Bootstrap的表格和Html表格大同小异,只是封装了一些css供我们使用 <table>标签必须引用class="table"基类样式,我们可以...

1825
来自专栏smy

多行图片hover加边框兼容IE7+

问题: 遇到多行多列排列的图片时,hover上去加边框会把下面的图片挤到别处 =========================================...

3316
来自专栏我的博客

JS动态添加表单

<script type=”text/javascript”> function addRow()<!–js实现添加一行内容!–> { var tr=docum...

3436
来自专栏marsggbo

li浮动时ul高度为0,解决ul自适应高度的几种方法

内容提要:   li浮动时ul高度为0,解决ul自适应高度的几种方法 在网页设计中,常常需要对li标签做浮动效果,但是在不同浏览器中会遇到兼容性问题,比如IE中...

1947

扫码关注云+社区