vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   JavaScript - limit title characters? (https://vborg.vbsupport.ru/showthread.php?t=205141)

WoodiE 02-12-2009 02:28 PM

JavaScript - limit title characters?
 
I'm using the following code to display the latest threads in my footer, however I'd like to limit the number of characters that are shown in the Thread title.

Can anyone show me what needs to be changed to say limit it to the first 20 or so characters?

Code:

<script type="text/javascript" src="http://www.mydomain.com/external.php?type=js"></script>
            <script type="text/javascript">
            <!--
                for (var i = 0; i < threads.length; i++)
                {
                    document.write('<li><a href="http://www.mydomain.com/showthread.php?t=' + threads[i]['threadid'] + '" title="' + threads[i]['title'] + '">' + threads[i]['title'] + '</a></li>');
                }
            //-->
            </script>

Thanks!

TigerC10 02-13-2009 11:00 PM

You're looking for substring.

Code:

<script type="text/javascript" src="http://www.mydomain.com/external.php?type=js"></script>
            <script type="text/javascript">
            <!--
                for (var i = 0; i < threads.length; i++)
                {
                    document.write('<li><a href="http://www.mydomain.com/showthread.php?t=' + threads[i]['threadid'] + '" title="' + threads[i]['title'] + '">' + threads[i]['title'].substr(0, 20) + '</a></li>');
                }
            //-->
            </script>

But that won't look very pretty (normally people expect things that are cut off to end with ellipsis), I would recommend splitting it up like so...

Code:

<script type="text/javascript" src="http://www.mydomain.com/external.php?type=js"></script>
            <script type="text/javascript">
            <!--
                for (var i = 0; i < threads.length; i++)
                {
                    var url = '<li><a href="http://www.mydomain.com/showthread.php?t=' + threads[i]['threadid'] + '" title="' + threads[i]['title'] + '">';

                    if(threads[i]['title'].length > 20) {
                            url += threads[i]['title'].substr(0, 20) + '...';
                    }
                    else {
                            url += threads[i]['title'];
                    }
                    url += '</a></li>';
                    document.write(url);
                }
            //-->
            </script>

That way you get the ellipsis at the end of thread titles that are cut off.


All times are GMT. The time now is 11:42 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01104 seconds
  • Memory Usage 1,718KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (2)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete