鼠标跟随的文字是怎么弄的?
发布网友
发布时间:2022-04-24 15:33
我来回答
共2个回答
热心网友
时间:2022-04-24 17:02
例如 这个代码,
进入后台,利用HTTP编辑代码,把欢迎字幕改成自己的就可以了,注意不要动两边的标点符号
<SCRIPT language=JavaScript1.2>
<!--//
// your message here
var msg='飞旋欢迎您的再次访问!希望你提出宝贵意见……';
var font='Verdana,Arial';
var size=3; // up to seven
var color='#CC33FF';
// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 for just plain rotation w/out drag
var speed=.2;
// This is the rotation speed, set it negative if you want
// it to spin clockwise
var rotation=.2;
// Alter no variables past here!, unless you are good
//---------------------------------------------------
var ns=(document.layers);
var ie=(document.all);
var msg=msg.split('');
var n=msg.length;
var a=size*15;
var currStep=0;
var ymouse=0;
var xmouse=0;
var scrll=0;
var props="<font face="+font+" size="+size+" color="+color+">";
if (ie)
window.pageYOffset=0
// writes the message
if (ns){
for (i=0; i < n; i++)
document.write('<layer name="nsmsg'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+msg[i]+'</font></center></layer>');
}
if (ie){
document.write('<div id="outer" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < n; i++)
document.write('<div id="iemsg" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center;font-weight:regular;cursor:default">'+props+msg[i]+'</font></div>');
document.write('</div></div>');
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (ns)?evnt.pageY+20-(window.pageYOffset):event.y; // y-position
xmouse = (ns)?evnt.pageX+20:event.x-20; // x-position
}
if (ns||ie)
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
y=new Array();
x=new Array();
Y=new Array();
X=new Array();
for (i=0; i < n; i++){
y[i]=0;
x[i]=0;
Y[i]=0;
X[i]=0;
}
function makecircle(){ // rotation properties
if (ie) outer.style.top=document.body.scrollTop;
currStep-=rotation;
for (i=0; i < n; i++){ // makes the circle
var d=(ns)?document.layers['nsmsg'+i]:iemsg[i].style;
d.top=y[i]+a*Math.sin((currStep+i*1)/3.8)+window.pageYOffset-15;
d.left=x[i]+a*Math.cos((currStep+i*1)/3.8)*2; // remove *2 for just a plain circle, not oval
}
}
function drag(){ // makes the resistance
scrll=(ns)?window.pageYOffset:0;
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (var i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
makecircle();
// not rotation speed, leave at zero
setTimeout('drag()',10);
}
if (ns||ie)window.onload=drag;
// -->
</SCRIPT>
热心网友
时间:2022-04-24 18:20
把第一个字(例如‘安’)放在一个动画元件中(设名称为“X”),并且在第一贞设置鼠标跟随。
剩余的字各做一个动画元件,设置两帧,动画元件内单独建立一个层用于编写Action,在第二帧添加Action
Action的编写思路是:
1.
判定元件与元件“X”的上下左右间距是否与设计数值相符,相符则结束脚本,等待下一次执行。
2.如果现在的间距数值与设计数值不相符,则调整间距数值,为了使移动的效果平滑自然,建议使用开方或者正弦函数来设定调整数值的量
这样的话就可以在鼠标移动时自行调整相互间距形成连续的动画跟随效果