js鼠标点击拖动生成小图标特效代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 js鼠标点击拖动生成小图标特效代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图1:

js鼠标点击拖动生成小图标特效代码

部分效果截图2:

js鼠标点击拖动生成小图标特效代码

HTML代码(index.html):

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js鼠标点击拖动生成小图标特效</title>

<style>
	html{height:100%;overflow:hidden;}
	body{margin:0;height:100%; background:#7a4b94; cursor:pointer;}
	h1 { margin:0; height:50px; background:#333; line-height:50px; position:relative; z-index:999; filter:alpha(opacity:80); opacity:0.8;}
	h1 strong { color:#fff; font-family:arial; font-size:18px; position:absolute; top:0px; left:4%; }
	a { position:absolute; top:0px; right:20px; color:#fff; margin-right:50px; text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:normal; }
	a:hover { text-decoration:underline; }
	h2{ margin:0; width:96%; padding:10px 0 14px 4%; background:#333; position:absolute; bottom:0; left:0; z-index:999; filter:alpha(opacity:80); opacity:0.8; color:#fff; font-size:12px; line-height:20px; font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
	h2 strong { font-size:14px; }
</style>


<script src="js/script.js"></script>
<script>
window.onload=function()
{
	var oTimer=null;
	var iLeft=0;
	var iTop=0;
	var iWidth=20;
	var iHeight=20;
	var oDiv=document.getElementsByTagName("div")[0];
	
	document.oncontextmenu=function()
	{
		return false;
	};
	
	document.onmousedown=function(e)
	{
		var ev=e||event;
		iLeft=ev.clientX;
		iTop=ev.clientY;
		if(oTimer)
		{
			clearInterval(oTimer);
		}
		oTimer=setInterval(function(){toAppend();},50);
		return false;
	}
	document.onmousemove=function(e)
	{
		var ev=e||event;
		iLeft=ev.clientX;
		iTop=ev.clientY;
		return false;
	}
	document.onmouseup=function()
	{
		clearInterval(oTimer);
	}
	function toAppend()
	{
		var oImg=new Image();
		var sSrc="";
		var iAngle=parseInt(Math.random()*1000)%360;
		var iNubLeft=parseInt(Math.random()*100)%2?-parseInt(Math.random()*40):parseInt(Math.random()*40);
		var iNubTop=parseInt(Math.random()*100)%2?-parseInt(Math.random()*40):parseInt(Math.random()*40);
		var INub=parseInt(Math.random()*20);
		var iNubW=INub+iWidth;
		var iNubH=INub+iHeight;
		iNubLeft+=iLeft-25;
		iNubTop+=iTop-25;
		sSrc="img/"+parseInt(Math.random()*100)%5+".gif";
		oImg.src=sSrc;
		oImg.onmousemove=function()
		{
			return false;
		};
		with(oImg.style)
		{
			width=iNubW+"px";
			height=iNubH+"px";
			position="absolute";
			left=iLeft-(iNubW/2)+"px";
			top=iTop-(iNubH/2)+"px";
		}
		css(oImg,"transform",iAngle);
		document.body.appendChild(oImg);
		starMove(oImg,{left:iNubLeft,top:iNubTop},1);
	}	
};
</script>
</head>
<body>

<h1>
	<strong>~ 在紫色区域点击左键并拖动鼠标试试 ~</strong>
	 
</h1>

<h2>

<strong>hello world</strong>

<br />
When we were small, happiness was a simple thing.<br />
After we have grown up, simplicity is a very happy thing.
</h2>
</body>
</html>

JS代码(script.js):

function toBrowser(){
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	if(browser=="Netscape"){
	return true;
}
var version=b_version.split(";
	");
	var trim_Version=version[1].replace(/[ ]/g,"");
	if(browser=="Microsoft Internet Explorer" &&( trim_Version=="MSIE7.0" || trim_Version=="MSIE6.0" || trim_Version=="MSIE8.0")){
	return false;
}
else{
	return true;
}
}
function starMove(obj,target,iType,fnEnd,iDate){
	if(obj.timer){
	clearInterval(obj.timer);
}
if(iType==1){
	var sAttr="";
	obj.iSpeed={
}
;
	for( sAttr in target){
	obj.iSpeed[sAttr]=0;
}
}
if(target["transform"]){
	if(obj["transform"]){
	target["transform"]+=obj["transform"];
}
else{
	css(obj,sAttr,0);
}
}
switch(iType){
	case 0:obj.timer=setInterval(function(){
	doMoveBuffer(obj,target,fnEnd);
}
,24);
	break;
	case 1:obj.timer=setInterval(function(){
	domoveFlexible(obj,target,fnEnd);
}
,24);
	break;
}
}
function doMoveBuffer(obj,target,fnEnd){
	var sAttr="";
	var iEnd=1;
	for(sAttr in target){
	if(toBrowser()==false && target["transform"]){
	continue;
}
var iNow=parseFloat(css(obj,sAttr));
	if(iNow==target[sAttr]){
	continue;
}
else{
	var iSpeed=(target[sAttr]-iNow)/5;
	iSpeed*=0.75;
	if(iSpeed>0){
	iSpeed=Math.ceil(iSpeed);
}
else{
	iSpeed=Math.floor(iSpeed);
}
css(obj,sAttr,iNow+=iSpeed);
	iEnd=0;
}
}
if(iEnd){
	clearInterval(obj.timer);
	if(fnEnd){
	fnEnd.call(obj);
}
}
}
function domoveFlexible(obj,target,fnEnd){
	var sAttr="";
	var iEnd=1;
	for( sAttr in target){
	if(toBrowser()==false && target["transform"]){
	continue;
}
var iNow=parseFloat(css(obj,sAttr));
	obj.iSpeed[sAttr]+=(target[sAttr]-iNow)/5;
	obj.iSpeed[sAttr]*=0.83;
	if(Math.round(iNow)==target[sAttr] && Math.abs(obj.iSpeed[sAttr])<1){
	continue;
}
else{
	iNow=Math.round(iNow+obj.iSpeed[sAttr]);
	css(obj,sAttr,iNow);
	iEnd=0;
}
}
if(iEnd){
	clearInterval(obj.timer);
	if(fnEnd){
	fnEnd.call(obj);
}
}
}
function css(obj,attr,value){
	if(arguments.length==2){
	if(attr=="transform"){
	return obj.transform;
}
var i=parseFloat(obj.currentStyle?obj.currentStyle[attr]:document.defaultView.getComputedStyle(obj,false)[attr]);
	var val=i?i:0;
	if(attr=="opacity"){
	val*=100;
}
return val;
}
else if(arguments.length==3){
	switch(attr){
	case 'width':case 'height':case 'paddingLeft':case 'paddingTop':case 'paddingRight':case 'paddingBottom':value=Math.max(value,0);
	case 'left':case 'top':case 'marginLeft':case 'marginTop':case 'marginRight':case 'marginBottom':obj.style[attr]=value+'px';
	break;
	case 'opacity':if(value<0){
	value=0;
}
obj.style.filter="alpha(opacity:"+value+")";
	obj.style.opacity=value/100;
	break;
	case 'transform':obj.transform=value;
	obj.style["transform"]="rotate("+value+"deg)";
	obj.style["MsTransform"]="rotate("+value+"deg)";
	obj.style["MozTransform"]="rotate("+value+"deg)";
	obj.style["WebkitTransform"]="rotate("+value+"deg)";
	obj.style["OTransform"]="rotate("+value+"deg)";
	break;
	default:obj.style[attr]=value;
}
return function (attr_in,value_in){
	css(obj,attr_in,value_in)}
;
}
}
function getClass(sClass,obj){
	var aRr=[];
	if(obj){
	var aTag=obj.getElementsByTagName('*');
}
else{
	var aTag=document.getElementsByTagName('*');
}
for(var i=0;
	i<aTag.length;
	i++){
	var aClass=aTag[i].className.split(" ");
	for(var j=0;
	j<aClass.length;
	j++){
	if(aClass[j]==sClass){
	aRr.push(aTag[i]);
}
}
}
return aRr;
}
function byClient(obj,attr){
	if(attr=="width"){
	return css(obj,"borderLeft")+css(obj,"borderRight")+css(obj,"paddingLeft")+css(obj,"paddingWidth")+css(obj,"paddingWidth");
}
else if(attr=="height"){
	return css(obj,"borderTop")+css(obj,"borderBottom")+css(obj,"paddingTop")+css(obj,"paddingBottom")+css(obj,"paddingHeight");
}
}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
11.89 KB
Html JS 其它特效2
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章