PDA

View Full Version : need help with Javascript On Wen Page



virgorickie
11-09-2005, 02:00 AM
I am using the following code on my web page with geocties... and when i view the sute there is a small black box on the page.... Can anyone please help me on this
Thanks,
Rickie

<html>

<head>

<SCRIPT LANGUAGE="JavaScript1.2">
<!--//

//Circling text trail- Tim Tilton
//Website: http://www.tempermedia.com/
//Visit http://www.dynamicdrive.com for this script and more


// your message here
var msg='Dynamic Drive!';

var font='Verdana,Arial';
var size=3; // up to seven
var color='#000000';

// 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=.3;

// 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>

</head>

</html>

jscheuer1
11-09-2005, 06:08 AM
Of browsers in use today, this script will only work for IE. Geocities has a nasty habit of high jacking the 'i' variable so those will need to be changed for it to work at all. Global and local instances of 'i' (below changed to 'xdt') are not distinguished, fixing this as I do below is just an efficiency move. The open script tag is outdated (also fixed below). There could be other problems but, give this a shot:


<script type="text/javascript">
//Circling text trail- Tim Tilton
//Website: http://www.tempermedia.com/
//Visit http://www.dynamicdrive.com for this script and more


// your message here
var msg='Dynamic Drive!';

var font='Verdana,Arial';
var size=3; // up to seven
var color='#000000';

// 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=.3;

// 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 (var xdt=0; xdt < n; xdt++)
document.write('<layer name="nsmsg'+xdt+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+msg[xdt]+'</font></center></layer>');
}
if (ie){
document.write('<div id="outer" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (var xdt=0; xdt < n; xdt++)
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[xdt]+'</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 (xdt=0; xdt < n; xdt++){
y[xdt]=0;
x[xdt]=0;
Y[xdt]=0;
X[xdt]=0;
}

function makecircle(){ // rotation properties
if (ie) outer.style.top=document.body.scrollTop;
currStep-=rotation;
for (var xdt=0; xdt < n; xdt++){ // makes the circle
var d=(ns)?document.layers['nsmsg'+xdt]:iemsg[xdt].style;
d.top=y[xdt]+a*Math.sin((currStep+xdt*1)/3.8)+window.pageYOffset-15;
d.left=x[xdt]+a*Math.cos((currStep+xdt*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 xdt=1; xdt < n; xdt++){
y[xdt]=Math.round(Y[xdt]+=(y[xdt-1]-Y[xdt])*speed);
x[xdt]=Math.round(X[xdt]+=(x[xdt-1]-X[xdt])*speed);

}
makecircle();
// not rotation speed, leave at zero
setTimeout('drag()',10);
}
if (ns||ie)window.onload=drag;
</script>

virgorickie
11-09-2005, 08:19 PM
HEy thank you for your help i think that Dynamic drive needs to up date there codes

virgorickie
11-09-2005, 08:37 PM
The code that you gave me is not working.. is there any free websites building out there? it may have something to do with geocities


Rickie

jscheuer1
11-09-2005, 09:57 PM
Works here as a local demo. Does it work for you locally? If so, it's Geocities. If not, you may have done something to it or to the page that prevents it from working.

virgorickie
11-09-2005, 11:21 PM
Well i am using geocties and i am using the right code but still nothing

jscheuer1
11-10-2005, 04:16 AM
This is not my favorite type of assignment but, if you put up a test page on your Geocities site and give me the address to it, I will have a look to see if I can find a way of overcoming whatever the problem is.

virgorickie
11-10-2005, 07:08 PM
here is the test page i mad from Geocities

http://www.geocities.com/virgo_rickie/testpage.html



i havn't messed with the codes or anything...

Rickie

jscheuer1
11-11-2005, 03:50 AM
Aside from one script that Geocities is putting on your page that prevented me from duplicating the page here locally until it was removed, I found a number of other hijacked variables in the script from all the other Geocities inserted scripts on the page. Once those variables were changed it worked here. So, unless that one other script hijacks anything else, this version of the script should be Geocities friendly (wait until the page loads fully to judge):


<script type="text/javascript">
//Circling text trail- Tim Tilton
//Website: http://www.tempermedia.com/
//Visit http://www.dynamicdrive.com for this script and more


// your message here
var msg='Dynamic Drive!';

var font='Verdana,Arial';
var size=3; // up to seven
var color='#000000';

// 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=.3;

// 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 axdt=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 (var xdt=0; xdt < n; xdt++)
document.write('<layer name="nsmsg'+xdt+'" top=0 left=0 height='+axdt+' width='+axdt+'><center>'+props+msg[xdt]+'</font></center></layer>');
}
if (ie){
document.write('<div id="outer" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (var xdt=0; xdt < n; xdt++)
document.write('<div id="iemsg" style="position:absolute;top:0px;left:0;height:'+axdt+';width:'+axdt+';text-align:center;font-weight:regular;cursor:default">'+props+msg[xdt]+'</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;
yxdt=new Array();
xxdt=new Array();
Y=new Array();
X=new Array();
for (xdt=0; xdt < n; xdt++){
yxdt[xdt]=0;
xxdt[xdt]=0;
Y[xdt]=0;
X[xdt]=0;
}

function makecircle(){ // rotation properties
if (ie) outer.style.top=document.body.scrollTop;
currStep-=rotation;
for (var xdt=0; xdt < n; xdt++){ // makes the circle
var dxdt=(ns)?document.layers['nsmsg'+xdt]:iemsg[xdt].style;
dxdt.top=yxdt[xdt]+axdt*Math.sin((currStep+xdt*1)/3.8)+window.pageYOffset-15;
dxdt.left=xxdt[xdt]+axdt*Math.cos((currStep+xdt*1)/3.8)*2; // remove *2 for just a plain circle, not oval
}
}

function drag(){ // makes the resistance
scrll=(ns)?window.pageYOffset:0;
yxdt[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
xxdt[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (var xdt=1; xdt < n; xdt++){
yxdt[xdt]=Math.round(Y[xdt]+=(yxdt[xdt-1]-Y[xdt])*speed);
xxdt[xdt]=Math.round(X[xdt]+=(xxdt[xdt-1]-X[xdt])*speed);

}
makecircle();
// not rotation speed, leave at zero
setTimeout('drag()',10);
}
if (ns||ie)window.onload=drag;
</script>

virgorickie
11-12-2005, 03:05 PM
Thanks very much