Avatar billede mitbrugernavn Praktikant
07. april 2007 - 12:11 Der er 4 kommentarer og
1 løsning

åbne link i nyt vindue

Har følgende menu:
filen - index.html
    <script type="text/Javascript" language="JavaScript" src="menu_navigation.js"><!--//--></script>

<table height="100%" cellpadding="0" cellspacing="0">
  <tr>
    <td valign="top"> <script type="text/Javascript" language="JavaScript">
                    <!--
                    var current_menu    = '';
                    var current_item    = 'Random Image';
                   
                    write_menu();
                    //-->
                    </script> </td>
  </tr>
  <tr>
    <td valign="bottom"></td>
  </tr>
</table>

menu_navigation.js

// Variables ============================================================================
// Set different variables to customize menu

var mouseover_menus = '#c0c0c0';
var mouseout_menus  = '#dddddd';

var mouseover_items = '#f0f0f0';
var mouseout_items  = '#f9f9f9';


// Write menus here
var menus = new Array (
                    "Link 1",
                    "Link 2",
                    "Link 3",
                    "Link 4"

                    );

var items = new Array();

// Write menu Items here respectively. If any menu item don't have sub items, then leave its respective array blank
items[0]  = new Array (                   
                    "Analogue Clock|http://dscripts.awardspace.com/scripts.php?type=flash&name=analogue_clock"                               
                    );
                   

items[1]  = new Array (
                    "Array Navigation|http://dscripts.awardspace.com/scripts.php?type=js&name=array_navigation",
                    "Auto Form Value|http://dscripts.awardspace.com/scripts.php?type=js&name=auto_form_value"
               
                    );
                   
items[2]  = new Array (                   
                    "Adsense Employer|http://dscripts.awardspace.com/scripts.php?type=php&name=adsense_employer",
                                        "Random Include|http://dscripts.awardspace.com/scripts.php?type=php&name=random_include"
                    );
        items[3]  = new Array (                   
                    "Adsense Employer|http://dscripts.awardspace.com/scripts.php?type=php&name=adsense_employer"
                 
                    );
           
// Functions ============================================================================
// Don't Edit Below


// Menu Title Mouse Over-Mouse Out
function menu_over(x)
    {
        if(document.getElementById||(document.all && !(document.getElementById)))
            {
                x.style.backgroundColor=mouseover_menus;
            }
    }

function menu_out(x)
    {
        if(document.getElementById||(document.all && !(document.getElementById)))
            {
                x.style.backgroundColor=mouseout_menus;
            }
    }

// Item Mouse Over-Mouse Out
function item_over(x)
    {
        if(document.getElementById||(document.all && !(document.getElementById)))
            {
                x.style.backgroundColor=mouseover_items;
            }
    }

function item_out(x)
    {
        if(document.getElementById||(document.all && !(document.getElementById)))
            {
                x.style.backgroundColor=mouseout_items;
            }
    }



// Statement to collapse items;
function collapse(id)
    {
        if (document.getElementById(id).style.display=="")
            {
                document.getElementById(id).style.display = "none";
                return;
            }
        for (i=0; i<menus.length; i++)
            {
                var others = document.getElementById(i+1);
                others.style.display = "none";
            }
        document.getElementById(id).style.display = "";
    }

// Statement to open links
function go(url)
    {
        window.location=url;
    }

                   
                       
// Writes menu
function write_menu()
    {
        document.write('<div id="navigation_bar">');
       
        for(x=0; x<menus.length; x++)
            {
                document.write('<div>');
               
                // Spilts menus into array for menu name and url
                var menu_array  = menus[x].split("|");
                // If menus url is not available the just makes expand and collapse effect on menu
                if (!menu_array[1])
                    {
                        var menu  = '<div id="menu" onMouseOver=menu_over(this); onMouseOut=menu_out(this); onClick="collapse(\''+(x+1)+'\')">'+menus[x]+'</div>';
                    }
                else
                    {
                        var menu  = '<div id="menu" onMouseOver=menu_over(this); onMouseOut=menu_out(this); onClick="collapse(\''+(x+1)+'\'); go(\''+menu_array[1]+'\')"><a href="'+menu_array[1]+'">'+menu_array[0]+'</a></div>';
                    }
                document.write(menu);
                   
                // Checks if current menu has items then writes items
                if(items[x] !='')
                    {
                        // If menu is not current then sets its display to none
                        if (menu_array[0] != current_menu)
                            {
                                document.write('<div style="display:none" id="'+(x+1)+'">');
                            }
                        else
                            {
                                document.write('<div style="display:" id="'+(x+1)+'">');
                            }
                               
                            // Writes Items
                            for(y=0; y<items[x].length; y++)
                                {
                                    // Splits current item into name and url
                                    var item_array  = items[x][y].split("|");
                                   
                                    // If item name is not current then acts with it as a ordinary item
                                    if (item_array[0] != current_item)
                                        {
                                            document.write('<div id="item" onMouseOver=item_over(this); onMouseOut=item_out(this); onClick="go(\''+item_array[1]+'\')"><a href="'+item_array[1]+'">'+item_array[0]+'</a></div>');
                                        }
                                    // Or if it current, then removes hyperlink and change it background color to current items background color
                                    else
                                        {
                                            document.write('<div id="current_item">'+item_array[0]+'</div>');
                                        }
       
                                }
                        }
                       
                    document.write('</div>');           
                document.write('</div>');
            }
           
        document.write('</div>');
    }
   
function stoperror()
    {
        return true
    }
   
window.onerror=stoperror



MIT problem er at få det til at åbne i f.eks. iframe eller nyt vindue - kan ikke lige se hvor jeg sætter den til det ??????
Avatar billede roenving Novice
07. april 2007 - 13:02 #1
Det kan den åbenbart ikke, så du må finde en anden !-)
Avatar billede roenving Novice
07. april 2007 - 13:03 #2
-- selvfølgelig kan du manuelt rette funktionen go til, hvis alle links skal i samme (i)frame eller åbnes i nyt vindue ...
Avatar billede mitbrugernavn Praktikant
07. april 2007 - 13:22 #3
jeg har fundet ud af det - har rettet i følgende afsnit

    for(y=0; y<items[x].length; y++)
                                {
                                    // Splits current item into name and url
                                    var item_array  = items[x][y].split("|");
                                   
                                    // If item name is not current then acts with it as a ordinary item
                                    if (item_array[0] != current_item)
                                        {
                                        //document.write('<div id="item" onMouseOver=item_over(this); onMouseOut=item_out(this); onClick="go(\''+item_array[1]+'\')"><a href="'+item_array[1]+'" target="_new">'+item_array[0]+'</a></div>');

                                            document.write('<div id="item" onMouseOver=item_over(this); onMouseOut=item_out(this); onClick=go(url)><a href="'+item_array[1]+'" target="undersider">&#8226; '+item_array[0]+'</a></div>');
                                        }
                                    // Or if it current, then removes hyperlink and change it background color to current items background color
                                    else
                                        {
                                            document.write('<div id="current_item">'+item_array[0]+'</div>');
                                        }
       
                                }

er så heldig at alle skal i samme iframe - men kan man ikke sætte sådan f.eks.
items[0]  = new Array (                   
                    "link tekst|link sti|link mål"

?????
Avatar billede mitbrugernavn Praktikant
07. april 2007 - 13:23 #4
og funktionen

function go(url)
    {
        window.location=url;
    }
er rettet til
function go(url)
    {
        window.location=undersider;
    }
Avatar billede mitbrugernavn Praktikant
14. april 2007 - 11:02 #5
lukker her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester