vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Strip characters javascript (https://vborg.vbsupport.ru/showthread.php?t=215291)

Jalo 06-03-2009 10:00 PM

Strip characters javascript
 
Hi all,

I use 3.8.2 and use this code to display latest threads on my portal:

Code:

<if condition="$vbulletin->options['externaljs']">
<script type="text/javascript" src="external.php?forumids=19&type=js"></script>
<script language="" type="text/javascript">
<!--
for (x = 0; x < 7; x++)
{
document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+threads[x].title+"</a></li>");
}
//-->
</script>

<script type="text/javascript" src="external.php?forumids=30&type=js"></script>
<script language="" type="text/javascript">
<!--
for (x = 0; x < 7; x++)
{
document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+threads[x].title+"</a></li>");
}
//-->
</script>
      </if>

But when a thread title is too long it takes up two lines breaking my layout. So I would like to set a max characters for the title to show and end with ...

How can this be done?

Jan

Dylanblitz 06-03-2009 11:43 PM

Not the best at javascript and I haven't tested it but I would try something like this. Might not get you there but it will give you an idea of what's needed. Just modify the length from 30 to whatever you want and if you want something other then ... at the end of a cropped string change that.

Code:

<if condition="$vbulletin->options['externaljs']">
<script type="text/javascript" src="external.php?forumids=19&type=js"></script>
<script language="" type="text/javascript">
<!--
max_title_len = 30;
string_term = "...";


for (x = 0; x < 7; x++)
{
        if (threads[x].title.length > max_title_len)
        {
        thread_title = threads[x].title.substring(0, max_title_len) + string_term;
        } else {
        thread_title = threads[x].title;
        }


document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+thread_title+"</a></li>");
}
//-->
</script>

<script type="text/javascript" src="external.php?forumids=30&type=js"></script>
<script language="" type="text/javascript">
<!--
max_title_len = 30;
string_term = "...";


for (x = 0; x < 7; x++)
{
        if (threads[x].title.length > max_title_len)
        {
        thread_title = threads[x].title.substring(0, max_title_len) + string_term;
        } else {
        thread_title = threads[x].title;
        }


document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+thread_title+"</a></li>");
}
//-->
</script>
      </if>


Jalo 06-04-2009 12:02 AM

Awesome Dylanblitz! Thank you very much man!!

Works!

Jan


All times are GMT. The time now is 07:09 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.01108 seconds
  • Memory Usage 1,716KB
  • 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
  • (2)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)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