Advertisement:

Author Topic: [TIP/TRICK] Rotating Text on Cursor  (Read 30123 times)

Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
[TIP/TRICK] Rotating Text on Cursor
« on: March 18, 2009, 04:32:13 AM »
This will create a JavaScript rotating text around the cursor. This is in response to Tien's "Circling text" post. I am leaving the copyright intact as to not discredit the original creator. This is not my MOD, this is just a way to integrate it for SMF.

Create file /Themes/{default_theme}/cursor.js
Code: [Select]
/* Circling text trail- Tim Tilton
   Website: http://www.tempermedia.com/
   Visit: http://www.dynamicdrive.com/ for Original Source and tons of scripts
   Modified Here for more flexibility and modern browser support
   Modifications as first seen in http://www.dynamicdrive.com/forums/
   username:jscheuer1 - This notice must remain for legal use
   */

;(function(){

// Your message here (QUOTED STRING)
var msg = "Dynamic Drive! Scripts & More!"; // Place your message in the quotes.

/* THE REST OF THE EDITABLE VALUES BELOW ARE ALL UNQUOTED NUMBERS */

// Set font's style size for calculating dimensions
// Set to number of desired pixels font size (decimal and negative numbers not allowed)
var size = 24;

// Set both to 1 for plain circle, set one of them to 2 for oval
// Other numbers & decimals can have interesting effects, keep these low (0 to 3)
var circleY = 0.75; var circleX = 2;

// The larger this divisor, the smaller the spaces between letters
// (decimals allowed, not negative numbers)
var letter_spacing = 5;

// The larger this multiplier, the bigger the circle/oval
// (decimals allowed, not negative numbers, some rounding is applied)
var diameter = 10;

// Rotation speed, set it negative if you want it to spin clockwise (decimals allowed)
var rotation = 0.4;

// This is not the rotation speed, its the reaction speed, keep low!
// Set this to 1 or a decimal less than one (decimals allowed, not negative numbers)
var speed = 0.3;

////////////////////// Stop Editing //////////////////////

if (!window.addEventListener && !window.attachEvent || !document.createElement) return;

msg = msg.split('');
var n = msg.length - 1, a = Math.round(size * diameter * 0.208333), currStep = 20,
ymouse = a * circleY + 20, xmouse = a * circleX + 20, y = [], x = [], Y = [], X = [],
o = document.createElement('div'), oi = document.createElement('div'),
b = document.compatMode && document.compatMode != "BackCompat"? document.documentElement : document.body,

mouse = function(e){
 e = e || window.event;
 ymouse = !isNaN(e.pageY)? e.pageY : e.clientY; // y-position
 xmouse = !isNaN(e.pageX)? e.pageX : e.clientX; // x-position
},

makecircle = function(){ // rotation/positioning
 if(init.nopy){
  o.style.top = (b || document.body).scrollTop + 'px';
  o.style.left = (b || document.body).scrollLeft + 'px';
 };
 currStep -= rotation;
 for (var d, i = n; i > -1; --i){ // makes the circle
  d = document.getElementById('iemsg' + i).style;
  d.top = Math.round(y[i] + a * Math.sin((currStep + i) / letter_spacing) * circleY - 15) + 'px';
  d.left = Math.round(x[i] + a * Math.cos((currStep + i) / letter_spacing) * circleX) + 'px';
 };
},

drag = function(){ // makes the resistance
 y[0] = Y[0] += (ymouse - Y[0]) * speed;
 x[0] = X[0] += (xmouse - 20 - X[0]) * speed;
 for (var i = n; i > 0; --i){
  y[i] = Y[i] += (y[i-1] - Y[i]) * speed;
  x[i] = X[i] += (x[i-1] - X[i]) * speed;
 };
 makecircle();
},

init = function(){ // appends message divs, & sets initial values for positioning arrays
 if(!isNaN(window.pageYOffset)){
  ymouse += window.pageYOffset;
  xmouse += window.pageXOffset;
 } else init.nopy = true;
 for (var d, i = n; i > -1; --i){
  d = document.createElement('div'); d.id = 'iemsg' + i;
  d.style.height = d.style.width = a + 'px';
  d.appendChild(document.createTextNode(msg[i]));
  oi.appendChild(d); y[i] = x[i] = Y[i] = X[i] = 0;
 };
 o.appendChild(oi); document.body.appendChild(o);
 setInterval(drag, 25);
},

ascroll = function(){
 ymouse += window.pageYOffset;
 xmouse += window.pageXOffset;
 window.removeEventListener('scroll', ascroll, false);
};

o.id = 'outerCircleText'; o.style.fontSize = size + 'px';

if (window.addEventListener){
 window.addEventListener('load', init, false);
 document.addEventListener('mouseover', mouse, false);
 document.addEventListener('mousemove', mouse, false);
  if (/Apple/.test(navigator.vendor))
   window.addEventListener('scroll', ascroll, false);
}
else if (window.attachEvent){
 window.attachEvent('onload', init);
 document.attachEvent('onmousemove', mouse);
};

})();


Edit /Themes/{default_theme}/style.css
Code: (Add at End) [Select]
/* Circle Text Styles */
#outerCircleText {
/* Optional - DO NOT SET FONT-SIZE HERE, SET IT IN THE SCRIPT */
font-style: italic;
font-weight: bold;
font-family: 'comic sans ms', verdana, arial;
color: #000;
/* End Optional */

/* Start Required - Do Not Edit */
position: absolute;top: 0;left: 0;z-index: 3000;cursor: default;}
#outerCircleText div {position: relative;}
#outerCircleText div div {position: absolute;top: 0;left: 0;text-align: center;}
/* End Required */
/* End Circle Text Styles */

Edit /Themes/{default_theme}/index.template.php
Code: (find) [Select]
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/script.js?fin11"></script>
Code: (add after) [Select]
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>

After that, edit what you want the text to display in the cursor.js file and voila!



To make it so only guests will see this:

Edit /Themes/{default_theme}/index.template.php
Code: (find) [Select]
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>
Code: (replace with) [Select]
';
if (!$context['user']['is_logged']) {
echo'   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>';
}

echo'
- Thanks to Nas for this



If you have any problems, please let me know :D
« Last Edit: June 09, 2009, 02:14:56 PM by JBlaze »
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,607
  • Gender: Male
    • marcus.t.forsberg on Facebook
    • marcusforsberg on LinkedIn
    • @marcusforsberg on Twitter
    • marcusforsberg.net
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #1 on: March 18, 2009, 04:36:02 AM »
Nice. Do you want this moved to Tips and Tricks?

Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #2 on: March 18, 2009, 04:42:56 AM »
If you don't mind  ;D
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,607
  • Gender: Male
    • marcus.t.forsberg on Facebook
    • marcusforsberg on LinkedIn
    • @marcusforsberg on Twitter
    • marcusforsberg.net
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #3 on: March 18, 2009, 04:45:22 AM »
Done ;)

Offline Aleksi "Lex" Kilpinen

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 15,430
  • Gender: Male
  • The Artist Formerly Known as LexArma
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #4 on: March 18, 2009, 04:46:33 AM »
Nice as it is now, but now if I could only figure out how to make that happen for guests only :D
* thinking of bugging guests a little *
Finnish Support Local Moderator & Support Specialist
My Mods: Facebook and Twitter Sharer



Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,607
  • Gender: Male
    • marcus.t.forsberg on Facebook
    • marcusforsberg on LinkedIn
    • @marcusforsberg on Twitter
    • marcusforsberg.net
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #5 on: March 18, 2009, 04:50:00 AM »
LexArma, find this in index.template.php:

Code: [Select]
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>
Replace with:

Code: [Select]
';
if (!$context['user']['is_logged']) {
echo'   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>';
}

echo'

Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #6 on: March 18, 2009, 04:51:06 AM »
LexArma, find this in index.template.php:

Code: [Select]
   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>
Replace with:

Code: [Select]
';
if (!$context['user']['is_logged']) {
echo'   <script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/cursor.js?fin11"></script>';
}

echo'

Beat me to it. Will edit. Thanks  :D
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline Aleksi "Lex" Kilpinen

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 15,430
  • Gender: Male
  • The Artist Formerly Known as LexArma
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #7 on: March 18, 2009, 04:51:47 AM »
LexArma, find this in index.template.php:
Thanks Nas! :D Will be trying this out later today ;)
Finnish Support Local Moderator & Support Specialist
My Mods: Facebook and Twitter Sharer



Offline Tien

  • Semi-Newbie
  • *
  • Posts: 23
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #8 on: March 18, 2009, 08:06:20 AM »
If you have any problems, please let me know :D

I have tried but the cursor trail did not show on my forum. Maybe there is anything that I need to look up for?  :(

Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #9 on: March 18, 2009, 08:19:34 AM »
If you have any problems, please let me know :D

I have tried but the cursor trail did not show on my forum. Maybe there is anything that I need to look up for?  :(
post a copy of your index.template.php file and a link to your site if you don't mind and I'll take a looksie ;D
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline Aleksi "Lex" Kilpinen

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 15,430
  • Gender: Male
  • The Artist Formerly Known as LexArma
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #10 on: March 18, 2009, 11:29:26 AM »
LexArma, find this in index.template.php:
Thanks Nas! :D Will be trying this out later today ;)
Worked Brilliantly! :D Thanks to you both Nas and jblazeofek! :)
Finnish Support Local Moderator & Support Specialist
My Mods: Facebook and Twitter Sharer



Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #11 on: March 19, 2009, 10:54:48 PM »
Hey if anyone can help me turn this into a MOD? I also would like to add an admin capability to turn on/off and make it so only guest/member may see it? Any help appreciated
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline shame_qalander

  • Semi-Newbie
  • *
  • Posts: 39
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #12 on: June 09, 2009, 01:41:54 PM »
Hi,

I am trying to use this tip on my forum but there is some problem. I isntalled it earlier successfully but this time its giving error. Despite of moving around cursor, the text is showing in a box on the bottom of pages on forum. Can you please help me with that?

thanks.

Online JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,983
  • Gender: Male
    • jasonclemons on GitHub
    • XboxLeaders.com
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #13 on: June 09, 2009, 01:55:10 PM »
Hi,

I am trying to use this tip on my forum but there is some problem. I isntalled it earlier successfully but this time its giving error. Despite of moving around cursor, the text is showing in a box on the bottom of pages on forum. Can you please help me with that?

thanks.

Can I have a link to your site?

Also, this doesn't work in some browsers AFAIK.
Jason "JBlaze" Clemons
Former Support & Customization     
Current Projects
Xbox LIVE API
Simple Avatar Rotator     
Important Links
Please, no PMs for support.
Unmanaged VPS Starting at $20/mo

Offline shame_qalander

  • Semi-Newbie
  • *
  • Posts: 39
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #14 on: June 09, 2009, 01:57:58 PM »
Hi,

My link is http://www.immediategod.com/forum

I just installed another theme to check if the previous theme was not supporting this tip. Please check the link or I can send you my index.template file. or tell me anyother solution.

thanks.

Offline Old Fossil

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,974
  • Gender: Male
  • Fussy Old Sod
    • MKComm on Facebook
    • @mkcommforum on Twitter
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #15 on: June 09, 2009, 02:01:54 PM »
JBlaze this sounds like a good one.

Anything to annoy the lurkers or guests  ;)


Offline shame_qalander

  • Semi-Newbie
  • *
  • Posts: 39
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #16 on: June 10, 2009, 03:44:20 AM »
Hi, It is giving the same error in all themes. Please help....!

Offline H

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 21,656
  • Gender: Male
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #17 on: July 08, 2009, 04:17:02 PM »
Quote
I isntalled it earlier successfully but this time its giving error

If you still want help, you'll need to tell us what the error is.
Huw
Former Support Team Lead
                              I recommend:
Namecheap (domains)
Fastmail (e-mail)
Linode (VPS)
                             

babjusi

  • Guest
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #18 on: July 08, 2009, 04:32:38 PM »
Can you post a screenshot of how it looks like when used?

Offline Dzonny

  • On Hiatus
  • SMF Super Hero
  • *
  • Posts: 10,323
  • Gender: Male
  • No sleep...
    • dzontra.nikola on Facebook
    • @opusteniforum on Twitter
    • Samo opusteno
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #19 on: July 08, 2009, 04:47:51 PM »
Can you post a screenshot of how it looks like when used?
it would be nice for me too.. :)
|Sistem za razmenu banera|Servisi za webmastere| My Mods

Dont't fear the reaper...
mail: dzonny (@) simplemachines.org