Advertisement:

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

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
[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 »

Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,608
  • 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?

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
Re: [TIP/TRICK] Rotating Text on Cursor
« Reply #2 on: March 18, 2009, 04:42:56 AM »
If you don't mind  ;D

Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,608
  • 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 ;)

Online Aleksi "Lex" Kilpinen

  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,068
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
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 *
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline Marcus Forsberg

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 8,608
  • 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'

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
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

Online Aleksi "Lex" Kilpinen

  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,068
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
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 ;)
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

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?  :(

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
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

Online Aleksi "Lex" Kilpinen

  • Lead Support Specialist
  • SMF Super Hero
  • *
  • Posts: 17,068
  • Gender: Male
  • Don't worry, I'm n00b friendly
    • Aleksi.Kilpinen on Facebook
    • aleksi-kilpinen on LinkedIn
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! :)
A Finnish Support Specialist
 Happily running multiple SMF 2.0 installations.

"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum.
 Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
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

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.

Offline JBlaze

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 12,152
    • @fragicide on Twitter
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.

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.

TheListener

  • Guest
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,662
  • 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.
-H
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

  • Localizer
  • SMF Super Hero
  • *
  • Posts: 11,725
  • Gender: Male
  • No sleep...
    • dzontra.nikola on Facebook
    • Dzonny on GitHub
    • dzontranikola on LinkedIn
    • @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.. :)