Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 04-04-2009, 12:34 PM
MarkFoster MarkFoster is offline
 
Join Date: Jun 2008
Posts: 305
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Code to display two images help!

If I use this code:
Code:
<SCRIPT LANGUAGE="JavaScript">
 
<!-- Begin Random Logo In Header Script
 
var theImages = new Array() // do not change this
 
<!-- Edit the url images to match yours
theImages[0] = 'images/statusicon/forum_old.gif'
theImages[1] = 'images/statusicon/forum_new.gif'
 
 
 
var j = 0
var p = theImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
preBuffer[i] = new Image()
preBuffer[i].src = theImages[i]
}
var whichImage = Math.round(Math.random()*(p-1));
function showImage(){
document.write('<td align="$stylevar[left]"><a href="index.php"><img src="'+theImages[whichImage]+'" border="0" alt="$vboptions[bbtitle]" /></a></div>');
}
 
// End -->
</script>
How will I be able to use two images at one "theImages[0] = 'images/statusicon/forum_old.gif'" ?

Thanks.
Reply With Quote
  #2  
Old 04-04-2009, 12:46 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't understand the question... What are you trying to do?
Reply With Quote
  #3  
Old 04-04-2009, 12:49 PM
MarkFoster MarkFoster is offline
 
Join Date: Jun 2008
Posts: 305
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TigerC10 View Post
I don't understand the question... What are you trying to do?
That code makes it so my logo's can change after refreshes or clicks to other pages.
The part below allows you to enter the URL's of the images you want, however my images are extremely huge even thougth their file sizes are small so I want to add two images on one line instead of having one image on one line.
Code:
<!-- Edit the url images to match yours
theImages[0] = 'images/statusicon/forum_old.gif'
theImages[1] = 'images/statusicon/forum_new.gif'
Reply With Quote
  #4  
Old 04-04-2009, 02:44 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You uh... Can't put two images on one line like that. Well I guess you can, but it takes some complicated handling and parsing.

You should just create two image arrays...

Code:
<!-- Edit the url images to match yours
theImagesA[0] = 'images/statusicon/forum_old.gif'
theImagesB[0] = 'images/statusicon/forum_old2.gif'
theImagesA[1] = 'images/statusicon/forum_new.gif'
theImagesB[1] = 'images/statusicon/forum_new2.gif'
That's the best way of doing "two images".
Reply With Quote
  #5  
Old 04-05-2009, 12:30 AM
MarkFoster MarkFoster is offline
 
Join Date: Jun 2008
Posts: 305
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TigerC10 View Post
You uh... Can't put two images on one line like that. Well I guess you can, but it takes some complicated handling and parsing.

You should just create two image arrays...

Code:
<!-- Edit the url images to match yours
theImagesA[0] = 'images/statusicon/forum_old.gif'
theImagesB[0] = 'images/statusicon/forum_old2.gif'
theImagesA[1] = 'images/statusicon/forum_new.gif'
theImagesB[1] = 'images/statusicon/forum_new2.gif'
That's the best way of doing "two images".
That makes it so that no images are displayed, just one of those classic broken image boxes. Could it be releated to other parts of the code?

--------------- Added [DATE]1238900644[/DATE] at [TIME]1238900644[/TIME] ---------------

might it also have to do anything with the code you use to display it where you want?
Code:
<SCRIPT LANGUAGE="JavaScript">
showImage();
</script>
Reply With Quote
  #6  
Old 04-06-2009, 02:45 AM
MarkFoster MarkFoster is offline
 
Join Date: Jun 2008
Posts: 305
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bump, I need help and I need it before a certain date.
Reply With Quote
  #7  
Old 04-06-2009, 03:19 AM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am still not quite clear on this. You mention that you have a 'huge' (as in area size) pictures. Why would you want to put two large images together to make a superimage?

I need to understand your goal a little more before I can further assist.

Thank you for your patience!
Reply With Quote
  #8  
Old 04-06-2009, 07:05 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by MarkFoster View Post
That makes it so that no images are displayed, just one of those classic broken image boxes. Could it be releated to other parts of the code?
Well, yeah. You would have to go and alter the Javascript code to change all references from...
Code:
theImages[i]
to...
Code:
theImagesA[i]
theImagesB[i]
Where i is the number of the image.


I figured you would know to do that since you're changing a variable name there. It's not like you can alter 1 line of code and magically get everything to do everything you want.


EDIT:

Consider using this instead

Code:
<SCRIPT LANGUAGE="JavaScript">
 
<!-- Begin Random Logo In Header Script
 
var theImagesA = new Array() // do not change this
var theImagesB = new Array() // do not change this
 
<!-- Edit the url images to match yours
theImagesA[0] = 'images/statusicon/forum_old1.gif'
theImagesB[0] = 'images/statusicon/forum_old2.gif'
theImagesA[1] = 'images/statusicon/forum_new1.gif'
theImagesB[1] = 'images/statusicon/forum_new2.gif'
 
 
 
var j = 0
var p = theImagesA.length;
var preBufferA = new Array()
var preBufferB = new Array()
for (i = 0; i < p; i++){
preBufferA[i] = new Image()
preBufferA[i].src = theImagesA[i]
preBufferB[i] = new Image()
preBufferB[i].src = theImagesB[i]
}
var whichImage = Math.round(Math.random()*(p-1));
function showImage(){
document.write('<td align="$stylevar[left]"><a href="index.php"><img src="'+theImagesA[whichImage]+'" border="0" alt="$vboptions[bbtitle]" /><img src="'+theImagesB[whichImage]+'" border="0" alt="$vboptions[bbtitle]" /></a></div>');
}
 
// End -->
</script>
See? You have to do it to the whole thing.
Reply With Quote
  #9  
Old 04-06-2009, 12:22 PM
Mr-Moo Mr-Moo is offline
 
Join Date: Sep 2007
Location: Chicago, IL.
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just tossing the question out there because I am interested in learning, but are you able to assign multiple results to a variable? If so, why and what are the circumstances?

Thank you!
Reply With Quote
  #10  
Old 04-06-2009, 03:01 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Mr-Moo View Post
Just tossing the question out there because I am interested in learning, but are you able to assign multiple results to a variable? If so, why and what are the circumstances?

Thank you!
Yeah, it's called an array. You would do it to keep lists of things (like pictures, names). That's what we're doing with the [i] stuff at the end of the variable name.

So like...
Code:
var friends = new Array();
friends[0] = "Woody";
friends[1] = "Buzz";
friends[2] = "Potato Head";
friends[3] = "Rex";
friends[4] = "Hamm";
friends[0] = "Slinky";
friends[6] = "Bo Peep";
Will be multiple variables, multiple strings (names) of people in the variable friends.




You can also use 2D arrays to make arrays of arrays. This is to keep track of checkerboard kind of things.
Code:
var timestable = new Array(3);
for(var i=0; i<6; i++){
    timestable[i] = new Array(5)
}
for(var i=0; i<timestable.length; i++
{
    for(var j=0; j<timestable[0].length; j++)
    {
        timestable[i][j] = i * j;
    }
}

document.writeln("2 x 3 = " + timestable[2][3]);
The code above makes a multiplication table, that looks something like this...
Code:
   0  1  2
0 [0][0][0]
1 [0][1][2]
2 [0][2][4]
3 [0][3][6]
4 [0][4][8]
The first subvariable calls the column, the second subvariable calls the row. So timestable[1][4] is 4. Then timestable[2][2] is also 4.




So MarkFoster here can solve his problem either with a two arrays or a 2D array. Either way, he has to extensively change his code. Because the list probably isn't very long, and he would only need two rows - using a 2D array would be wasteful and inefficient. He probably needs to just keep two arrays (which is what I've given him code for).
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:01 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.11527 seconds
  • Memory Usage 2,256KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (11)bbcode_code
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete