Webmaster Forum

Sponsored Reviews   High Bandwidth Dedicated Servers   V7N Directory
Go Back   Webmaster Forum > Web Development > Web Design Lobby > Coding Forum
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Coding Forum Problems with your code? Let's hear about it.

Reply
 
LinkBack Thread Tools Display Modes
Old 01-10-2008, 12:40 PM   #1 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
Question Javascript help please!!!

I'm having problems with this script. Everthing works as should, but only if I make a selection, then re-load the page. I want it to occur with the onChange event without having to re-load the page. What am I missing??? Thanks.
Code:
<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <BODY> <font face="Verdana" size="2">Menu: </font> <select id="s" name="s" onChange="doDMarquee()" style="color:#FF0000;background-color:#CCCCCC;font-family:Verdana;font-size:12px;"> <option value="" selected>- Select One -</option> <option value="http://www.searchbliss.com/Webmaster-Tools.htm">Webmaster Tools</option> <option value="http://www.searchbliss.com/Free-Website-Content.htm">Free Website Content</option> <option value="http://www.searchbliss.com/generators.asp">Buy Tools</option> </select> <SCRIPT language="JavaScript"> document.write('<div id=dmarquee class=dmarquee><div><div><a href="'+document.all.s.value+'">'+document.all.s.value+'</a></div></div></div>') var oMarquees = [], oMrunning, oMInterv = 20, //interval between increments oMStep = 9, //number of pixels to move between increments oStopMAfter = 5, //how many seconds should marquees run (0 for no limit) oResetMWhenStop = false, //set to true to allow linewrapping when stopping oMDirection = 'left'; //'left' for LTR text, 'right' for RTL text /*** Do not edit anything after here ***/ function doMStop() { clearInterval(oMrunning); for( var i = 0; i < oMarquees.length; i++ ) { oDiv = oMarquees[i]; oDiv.mchild.style[oMDirection] = '0px'; if( oResetMWhenStop ) { oDiv.mchild.style.cssText = oDiv.mchild.style.cssText.replace(/;white-space:nowrap;/g,''); oDiv.mchild.style.whiteSpace = ''; oDiv.style.height = ''; oDiv.style.overflow = ''; oDiv.style.position = ''; oDiv.mchild.style.position = ''; oDiv.mchild.style.top = ''; } } oMarquees = []; } function doDMarquee() { if( oMarquees.length || !document.getElementsByTagName ) { return; } var oDivs = document.getElementsByTagName('div'); for( var i = 0, oDiv; i < oDivs.length; i++ ) { oDiv = oDivs[i]; if( oDiv.className && oDiv.className.match(/\bdmarquee\b/) ) { if( !( oDiv = oDiv.getElementsByTagName('div')[0] ) ) { continue; } if( !( oDiv.mchild = oDiv.getElementsByTagName('div')[0] ) ) { continue; } var selObj = document.getElementById('s'); var selIndex = selObj.selectedIndex; oDiv.value = selObj.options[selIndex].text; oDiv.mchild.style.cssText += ';white-space:nowrap;'; oDiv.mchild.style.whiteSpace = 'nowrap'; oDiv.style.height = oDiv.offsetHeight + 'px'; oDiv.style.overflow = 'hidden'; oDiv.style.position = 'relative'; oDiv.mchild.style.position = 'absolute'; oDiv.mchild.style.top = '0px'; oDiv.mchild.style[oMDirection] = oDiv.offsetWidth + 'px'; oMarquees[oMarquees.length] = oDiv; i += 2; } } oMrunning = setInterval('aniMarquee()',oMInterv); if( oStopMAfter ) { setTimeout('doMStop()',oStopMAfter*1000); } } function aniMarquee() { var oDiv, oPos; for( var i = 0; i < oMarquees.length; i++ ) { oDiv = oMarquees[i].mchild; oPos = parseInt(oDiv.style[oMDirection]); if( oPos <= -1 * oDiv.offsetWidth ) { oDiv.style[oMDirection] = oMarquees[i].offsetWidth + 'px'; } else { oDiv.style[oMDirection] = ( oPos - oMStep ) + 'px'; } } } if( document.s.addEventListener ) { document.all.s.addEventListener('change',doDMarquee,false); } else if( document.all.s.addEventListener ) { document.all.s.addEventListener('change',doDMarquee,false); } else if( document.all.s.attachEvent ) { document.all.s.attachEvent('onchange',doDMarquee); } </SCRIPT> </BODY> </html>
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Sponsored Links
SEO Hosting by HostGator  Advertise Here  Buy Blog Links
Old 01-11-2008, 08:45 AM   #2 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
What am I missing? I'm sure it's something stupid and it's making me crazy.
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-11-2008, 08:56 AM   #3 (permalink)
v7n Mentor
 
Taltos's Avatar
 
Join Date: 11-22-06
Location: Phoenix, AZ
Posts: 1,784
iTrader: 0 / 0%
Latest Blog:
None

Taltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web proTaltos is a highly respected web pro
Send a message via Yahoo to Taltos
I didn't dig through all the code and reverse engineer it but...if it doesn't work until you refresh the page, I would try moving the script up into the HEAD. Javascript in the body gets recognized on load but if you change things dynamically, it can cause problems with script in the head. The fact that refresh seems to make it work make me thing your script, or most of it belongs in the HEAD. Just a quick guess for you. Good luck!
__________________
Experimenting
Taltos is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-11-2008, 12:22 PM   #4 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
I have tried that, but I'll try some new variations again. Thanks.
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-13-2008, 01:19 PM   #5 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
It still doesn't function without re-loading, no matter what I do. I'm desperate need of help! What the "h" "e" double hockey sticks am I doing wrong?
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-14-2008, 03:23 AM   #6 (permalink)
Contributing Member
 
Join Date: 07-24-06
Posts: 565
iTrader: 1 / 100%
Latest Blog:
None

nasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the rough
Ever considered looking at jQuery or the likes?
http://jscroller.markusbordihn.de/
nasty.web is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-15-2008, 01:51 PM   #7 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
Quote:
Originally Posted by nasty.web View Post
Ever considered looking at jQuery or the likes?
http://jscroller.markusbordihn.de/
Thanks for the help, but this won't work for me. If you cut and paste the code above into an html document, then test it on IE or Firefox, you see what I am trying to do...without having to re-load the page after making a selection. You should be able to make a selection, then the active link slides into view. Thanks.
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-15-2008, 02:19 PM   #8 (permalink)
Contributing Member
 
Join Date: 07-24-06
Posts: 565
iTrader: 1 / 100%
Latest Blog:
None

nasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the rough
Ok, quick ugly fix, but you'll get the idea:

Code:
<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <BODY> <font face="Verdana" size="2">Menu: </font> <select id="s" name="s" onChange="doDMarquee()" style="color:#FF0000;background-color:#CCCCCC;font-family:Verdana;font-size:12px;"> <option value="" selected>- Select One -</option> <option value="http://www.searchbliss.com/Webmaster-Tools.htm">Webmaster Tools</option> <option value="http://www.searchbliss.com/Free-Website-Content.htm">Free Website Content</option> <option value="http://www.searchbliss.com/generators.asp">Buy Tools</option> </select> <SCRIPT language="JavaScript"> document.write('<div id=dmarquee class=dmarquee><div><div><a href="" id="slink">&nbsp;</a></div></div></div>') var oMarquees = [], oMrunning, oMInterv = 20, //interval between increments oMStep = 9, //number of pixels to move between increments oStopMAfter = 5, //how many seconds should marquees run (0 for no limit) oResetMWhenStop = false, //set to true to allow linewrapping when stopping oMDirection = 'left'; //'left' for LTR text, 'right' for RTL text /*** Do not edit anything after here ***/ function doMStop() { clearInterval(oMrunning); for( var i = 0; i < oMarquees.length; i++ ) { oDiv = oMarquees[i]; oDiv.mchild.style[oMDirection] = '0px'; if( oResetMWhenStop ) { oDiv.mchild.style.cssText = oDiv.mchild.style.cssText.replace(/;white-space:nowrap;/g,''); oDiv.mchild.style.whiteSpace = ''; oDiv.style.height = ''; oDiv.style.overflow = ''; oDiv.style.position = ''; oDiv.mchild.style.position = ''; oDiv.mchild.style.top = ''; } } oMarquees = []; } function doDMarquee() { if( oMarquees.length || !document.getElementsByTagName ) { return; } var oDivs = document.getElementsByTagName('div'); for( var i = 0, oDiv; i < oDivs.length; i++ ) { oDiv = oDivs[i]; if( oDiv.className && oDiv.className.match(/\bdmarquee\b/) ) { if( !( oDiv = oDiv.getElementsByTagName('div')[0] ) ) { continue; } if( !( oDiv.mchild = oDiv.getElementsByTagName('div')[0] ) ) { continue; } var selObj = document.getElementById('s'); var selIndex = selObj.selectedIndex; oDiv.value = selObj.options[selIndex].text; oDiv.mchild.style.cssText += ';white-space:nowrap;'; oDiv.mchild.style.whiteSpace = 'nowrap'; oDiv.style.height = oDiv.offsetHeight + 'px'; oDiv.style.overflow = 'hidden'; oDiv.style.position = 'relative'; oDiv.mchild.style.position = 'absolute'; oDiv.mchild.style.top = '0px'; oDiv.mchild.style[oMDirection] = oDiv.offsetWidth + 'px'; oMarquees[oMarquees.length] = oDiv; l = document.getElementById("slink"); l.innerHTML = document.getElementById("s").value; l.href = document.getElementById("s").value; i += 2; } } oMrunning = setInterval('aniMarquee()',oMInterv); if( oStopMAfter ) { setTimeout('doMStop()',oStopMAfter*1000); } } function aniMarquee() { var oDiv, oPos; for( var i = 0; i < oMarquees.length; i++ ) { oDiv = oMarquees[i].mchild; oPos = parseInt(oDiv.style[oMDirection]); if( oPos <= -1 * oDiv.offsetWidth ) { oDiv.style[oMDirection] = oMarquees[i].offsetWidth + 'px'; } else { oDiv.style[oMDirection] = ( oPos - oMStep ) + 'px'; } } } if( document.s.addEventListener ) { document.all.s.addEventListener('change',doDMarquee,false); } else if( document.all.s.addEventListener ) { document.all.s.addEventListener('change',doDMarquee,false); } else if( document.all.s.attachEvent ) { document.all.s.attachEvent('onchange',doDMarquee); } </SCRIPT> </BODY> </html>
nasty.web is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-15-2008, 02:38 PM   #9 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
I get an error in IE, yet it still works. Thanks alot for your help. I will fix the IE error...I'm just so happy it works...ugly or not. Thank you, thank you, thank you!
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-17-2008, 02:12 PM   #10 (permalink)
v7n Mentor
 
searchbliss's Avatar
 
Join Date: 03-25-06
Posts: 694
iTrader: 1 / 100%
searchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nicesearchbliss is just really nice
I tweeked it and all works great now. Thanks again nasty.web!
searchbliss is offline  
Add Post to del.icio.us
Reply With Quote
Old 01-18-2008, 03:39 AM   #11 (permalink)
Contributing Member
 
Join Date: 07-24-06
Posts: 565
iTrader: 1 / 100%
Latest Blog:
None

nasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the roughnasty.web is a jewel in the rough
Quote:
Originally Posted by searchbliss View Post
I tweeked it and all works great now. Thanks again nasty.web!
You're welcome
nasty.web is offline  
Add Post to del.icio.us
Reply With Quote
Go Back   Webmaster Forum > Web Development > Web Design Lobby > Coding Forum

Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
javascript help mtaylor314 Coding Forum 2 05-04-2007 03:46 PM
Count-up from a particular year + Javascript within Javascript? Help! Azam.biz Coding Forum 3 06-06-2005 06:47 AM
Javascript Help. samer Coding Forum 2 09-08-2004 07:50 AM
I need some help with JavaScript. Can anyone help me please? CrAg Coding Forum 2 03-22-2004 05:56 AM
javascript webmaster@lostinteardrops Coding Forum 16 10-31-2003 08:19 AM


Sponsor Links
Get exposure! Get exposure! Find Scripts Web Hosting Directory Get exposure! SEO Blog


All times are GMT -7. The time now is 03:57 AM.
© Copyright 2008 V7 Inc


Search Engine Optimization by vBSEO 3.1.0 ©2007, Crawlability, Inc.