mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 13:34 Benutzername: Passwort: Auto-Login

Thema: Javascript: Parameter übergeben und aufrufen? vom 12.01.2011


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> Javascript: Parameter übergeben und aufrufen?
Seite: 1, 2  Weiter
Autor Nachricht
stifler_wob
Threadersteller

Dabei seit: 28.04.2010
Ort: Wolfsburg
Alter: 32
Geschlecht: Männlich
Verfasst Mi 12.01.2011 09:41
Titel

Javascript: Parameter übergeben und aufrufen?

Antworten mit Zitat Zum Seitenanfang

Halli Hallo,
nun stelle ich mal meine nächste fragen:

Wie folgt sieht mein Code aus

Code:
}
var bild3 = "images/pfeil2.jpg";
var bild4 = "images/pfeil2_down.jpg";

function Pfeil()
{
 if(document.getElementById('pfeil').src = bild3)
  document.getElementById('pfeil').src = bild4;
else
 document.getElementById('pfeil').src = bild3;
}



Nun möchte ich, das beim ausführen dieses Events ein Parameter ausgelöst wird. anschließend möchte ich eine zweite Funktion schreiben, in der dieser Parameter aufgenommen wird & sobald er aufgenommen wurde, aktiviert sich diese Funktion.

Klingt komisch, ich weiß.. Nochmal zum Verständnis:


Bild normal -> onlick (parameter wird übergeben) -> Bild ändert sich -> (Parameter wird aufgenommen) if parameter dies&das, wechsel bild4 in bild5 durch onclick..


Gruß und Danke
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mi 12.01.2011 10:41
Titel

Antworten mit Zitat Zum Seitenanfang

ich glaub keiner versteht so richtig was du willst.


1. lese den unterschied zwischen verlgleichs und zuweisungsoperator
2. gib uns bitte eine bessere beschreibung deines vorhabens


möchtest du im onclick festlegen welches bild ausgetauscht werden soll?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
stifler_wob
Threadersteller

Dabei seit: 28.04.2010
Ort: Wolfsburg
Alter: 32
Geschlecht: Männlich
Verfasst Mi 12.01.2011 10:57
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für die Antwort.


Ich habe eine Navigation, mit unterschiedlichen Submenus. Vor jedem Menüpunkt ist also ein horizontaler Pfeil, klick ich auf einen Menüpunkt, so fährt sich das Submenu aus & aus dem horizontalen wird ein vertikaler Pfeil. Vor dem Submenulink erscheint nun ein horizontaler Pfeil. Klick ich auf den gleichen Menüpunkt, so fährt das Menü wieder ein, der vertikale Pfeil bleibt aber & wird nicht zu einem horizontalen.


Die Pfeile habe ich in einer extra function geschrieben, haben also nichts mit dem Menüscript ansich zu tun.

Daher wollte, sofern man auf einen Menüpunkt klickt, ein Parameter übergeben wird, den ich dann in eine weitere function verbauen kann ich es so machen.

Hier ein screenshot:




und so ist es, wenn ich auf den Menüpunkt klicke, und sich das menü wieder einfährt:


  View user's profile Private Nachricht senden
DesignKater

Dabei seit: 26.06.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 12.01.2011 13:49
Titel

Antworten mit Zitat Zum Seitenanfang

Warum mit JavaScript?

http://www.mediengestalter.info/forum/4/hilfe-beim-dropdown-menue-151188-1.html
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 12.01.2011 17:08
Titel

Antworten mit Zitat Zum Seitenanfang

@designKater
Der TO wills schätzungsweise onclick geöffnet haben, nicht
bei hover.

@stifler_wob
Was Du eigentlich willst ist ein sog. Treemenu, da gibts
unzählige Tutorials/Templates im Web.

Aus Langeweile habe ich eben auch ein Script für
solche Zwecke geschrieben. Vielleicht bringts Dich
ja irgendwie weiter:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simples Treemenu</title>
<style type="text/css">
    .treeMenu li {
        list-style: none;
        padding: 0 0 0 10px;
    }
    .treeMenu .hasSubMenu {
        background: url(arrow.gif) no-repeat 0 0;
    }
    .treeMenu .hasSubMenu ul {
         display: none;
    }
    .treeMenu .isOpen {
        background-position: -2500px 0;
    }
</style>
<script type="text/javascript">
    /*
     * @TreeMenu    Simples Treemenu via JavaScript
     *              'Übergibt' Baumstruktur an Folgeseiten über window.name
     *              so dass die Menüpunkte in diesem Fenster aufgeklappt bleiben.
     *              Wenn Menustatus als Cookie gespeichert werden soll, einfach
     *              _saveAsCookie auf true setzen.
     *              Benötigt wird das Pfeilbild 'arrow.gif' (see css) zwecks
     *              CSS-Sprite (5000px breit) und ein UL-verschachteltes Menu
     *              mit der Id='myMenu'.
     */
    var TreeMenu = (function () {

        // Die Id des Menus
        var _menuId = 'myMenu';
        // Die Class für LI-Elemente mit Submenu
        var _classSubMenu = 'hasSubMenu';
        // Die Class für geöffnete LI-Elemente
        var _classIsOpen = 'isOpen';
        // Das Menu-Element
        var _menu = null;
        // Die Menu-LI-Elemente
        var _items = null;
        // Status-Store
        var _store = null;
        // Status als Cookie speichern?
        var _saveAsCookie = false;

        // Initialisieren
        var _init = function() {
            // Das Menu-Element suchen, wenn nicht da return
            _menu = document.getElementById(_menuId);
            if (!_menu) return;
            // Nach Menu-Elementen suchen, wenn keine da return
            _items = _menu.getElementsByTagName('a');
            if (!_items) return;
            // Gespeicherte Menu Statuse laden
            _loadStore();
            // Über alle Menu-Elemente iterieren
            for (var i=0; i < _items.length; i++) {
                // Das Eltern-Element suchen
                _items[i].parent = _items[i].parentNode;
                // Das Submenu suchen
                _items[i].subMenu = _getSubMenu(_items[i].parent);
                // Wenn Submenu da, dann...
                if (_items[i].subMenu) {
                    // Nummer vergeben
                    _items[i].nr = i;
                    // Class 'hasSubMenu' vergeben
                    _addClass(_items[i].parent,_classSubMenu);
                    // und OnClick-Event draufpacken
                    _items[i].onclick = function() {
                        _toggleMenu(this);
                        return false;
                    };
                    // wenn gesetzt aufklappen
                    if (_store[i]) {
                        _toggleMenu(_items[i]);
                    }
                }
            }
        };

        // Sucht nach einem Submenu
        var _getSubMenu = function(el) {
            if (el.getElementsByTagName("ul").length) {
                return el.getElementsByTagName("ul")[0];
            } else {
                return false;
            }
        };

        // Toggelt Menü auf/zu
        var _toggleMenu = function(el) {
            if (_hasClass(el.parent,_classIsOpen)) {
                _removeClass(el.parent,_classIsOpen);
                _hideElement(el.subMenu);
                _removeFromStore(el.nr);
            } else {
                _addClass(el.parent,_classIsOpen);
                _showElement(el.subMenu);
                _addToStore(el.nr);
            }
            _saveStore();
        }

        // 'offen'-status setzen
        var _addToStore = function(nr) {
            _store[nr] = nr;
        }

        // 'offen'-status entfernen
        var _removeFromStore = function(nr) {
             _store[nr] = null;
        }

        // Status von CVString holen
        var _loadStore = function() {
            _store = new Array();
            var cvString = (_saveAsCookie && document.cookie) ? document.cookie : window.name;
            if (cvString) {
                var storedItems = cvString.split(',');
                for (var i = 0; i < storedItems.length; i++) {
                    _store[storedItems[i]] = storedItems[i];
                }
            }
        }

        // Status als CVString 'speichern'
        var _saveStore = function() {
            var cvString = '';
            for (var i = 0; i < _store.length; i++) {
                if (_store[i] != null) cvString += _store[i]+',';
            }
            if (_saveAsCookie) {
                document.cookie = cvString;
            } else {
                window.name = cvString;
            }
        }

        // Helper:
        // Schaut ob Element bestimmte Class hat
        var _hasClass = function(el,className) {
            var regexp = new RegExp(className,'g');
            return el.className.search(regexp) != -1;
        };

        // Fügt einem Element eine Class hinzu
        var _addClass = function(el,className) {
            el.className += (el.className.length) ? ' '+className : className;
        };

        // Entfernt Class von einem Element
        var _removeClass = function(el,className) {
            var regexp = new RegExp(' ?'+className,'g');
            el.className = el.className.replace(regexp,'');
        };

        // Setzt display auf 'block'
        var _showElement = function(el) {
             el.style.display = 'block';
        }

        // Setzt display auf 'none'
        var _hideElement = function(el) {
             el.style.display = 'none';
        }

        // Public
        return {
            init: function() {
                _init();
            }
        };
    })();
</script>
</head>
<body>
    <ul id="myMenu" class="treeMenu">
        <li><a href="index.php">Something</a>
            <ul>
                <li><a href="index.php">Cool</a></li>
                <li><a href="index.php">Hot</a></li>
                <li><a href="index.php">Burner</a></li>
            </ul>
        </li>
        <li><a href="index.php">Trash</a>
            <ul>
                <li><a href="index.php">Blub</a></li>
                <li><a href="index.php">Zack</a></li>
                <li><a href="index.php">Peng</a>
                    <ul>
                        <li class="foobar"><a href="index.php">Again</a></li>
                        <li class="trallala"><a href="index.php">More</a>
                            <ul>
                                <li><a href="index.php">Again</a>
                                    <ul>
                                        <li><a href="index.php">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                                <li><a href="index.php">Super</a></li>
                                <li><a href="index.php">Whatever</a>
                                    <ul>
                                        <li><a href="index.php">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                                <li><a href="index.php">More</a>
                                    <ul>
                                        <li><a href="index.php">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
    <script>
        // Initialize das Menu
        TreeMenu.init();
    </script>
</body>
</html>


Sieht dann so aus: http://zweitaccount.zw.ohost.de/treemenu/index.php
(für die Werbung kann ich nix...)

Grüße
zweitaccount
  View user's profile Private Nachricht senden
stifler_wob
Threadersteller

Dabei seit: 28.04.2010
Ort: Wolfsburg
Alter: 32
Geschlecht: Männlich
Verfasst Mi 12.01.2011 18:34
Titel

Antworten mit Zitat Zum Seitenanfang

Genau das wollte ich!

Vielen dank!
  View user's profile Private Nachricht senden
stifler_wob
Threadersteller

Dabei seit: 28.04.2010
Ort: Wolfsburg
Alter: 32
Geschlecht: Männlich
Verfasst Do 13.01.2011 11:31
Titel

Antworten mit Zitat Zum Seitenanfang

Ich muss noch einmal nerven...

Wie schaffe ich es denn, dass das Menü wieder zuklappt, wenn ich auf einen anderen Menüpunkt klicke? Also im Beispiel: Something ist offen & ich klicke auf trash, dann soll something wieder zu gehen..


Danke im voraus.
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 13.01.2011 15:23
Titel

Antworten mit Zitat Zum Seitenanfang

Hoi,
hmm, hier ein kleines update dass das berücksichtigt:
http://zweitaccount.zw.ohost.de/treemenu/index_v2.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simples Treemenu</title>
<style type="text/css">
    .treeMenu li {
        list-style: none;
        padding: 0 0 0 10px;
    }
    .treeMenu .hasSubMenu {
        background: url(arrow.gif) no-repeat 0 0;
    }
    .treeMenu .hasSubMenu ul {
         display: none;
    }
    .treeMenu .isOpen {
        background-position: -2500px 0;
    }
</style>
<script type="text/javascript">
    /*
     * @TreeMenu    Simples Treemenu via JavaScript
     *              'Übergibt' Baumstruktur an Folgeseiten über window.name
     *              so dass die Menüpunkte in diesem Fenster aufgeklappt bleiben.
     *              Wenn Menustatus als Cookie gespeichert werden soll, einfach
     *              _saveAsCookie auf true setzen.
     *              Benötigt wird das Pfeilbild 'arrow.gif' (see css) zwecks
     *              CSS-Sprite (5000px breit) und ein UL-verschachteltes Menu
     *              mit der Id='myMenu'.
     */
    var TreeMenu = (function () {

        // Die Id des Menus
        var _menuId = 'myMenu';
        // Die Class für LI-Elemente mit Submenu
        var _classSubMenu = 'hasSubMenu';
        // Die Class für geöffnete LI-Elemente
        var _classIsOpen = 'isOpen';
        // Das Menu-Element
        var _menu = null;
        // Die Menu-LI-Elemente
        var _items = null;
        // Status-Store
        var _savedItemsStore = null;
        // Status als Cookie speichern?
        var _saveAsCookie = false;
        // Items die geöffnet dargestellt werden sollen
        var _openItems = null;
        var _openItemsStore = null;
        // Den Item-Pfad als alt-Tag ausgeben
        var _showItemPath = true;
        //
        var _closeOtherItems = true;

        // Initialisieren
        var _init = function(params) {
            // MenuId kann auch als Parameter übergeben werden.
            if (params && params.menuId) _menuId = params.menuId;
            // Zu öffnenede Items können auch als Parameter übergeben werden.
            if (params && params.openItems) _openItems = params.openItems;
            // Das Menu-Element suchen, wenn nicht da return
            _menu = document.getElementById(_menuId);
            if (!_menu) return;
            // Nach Menu-Elementen suchen, wenn keine da return
            _items = _menu.getElementsByTagName('a');
            if (!_items) return;
            // Gespeicherte Menu Statuse laden
            _loadStore();
            // Übergebene Menu Statuse setzen
            _setOpenItems();
            // Über alle Menu-Elemente iterieren
            for (var i=0; i < _items.length; i++) {
                // Das Eltern-Element suchen
                _items[i].parent = _items[i].parentNode;
                // Das Submenu suchen
                _items[i].subMenu = _getSubMenu(_items[i].parent);
                // Nummer vergeben (1basiered)
                _items[i].nr = i;
                // Wenn Submenu da, dann...
                if (_items[i].subMenu) {
                    // Class 'hasSubMenu' vergeben
                    _addClass(_items[i].parent,_classSubMenu);
                }
                // wenn im Store gesetzt aufklappen
                if (_savedItemsStore[i] != null) {
                    _toggleMenu(_items[i]);
                    _openParents(_items[i]);
                }
                // wenn zu als zu öffnendes Item übergeben
                // bis dorthin aufklappen
                if (_openItemsStore != null && _openItemsStore[i] != null) {
                    _toggleMenu(_items[i]);
                    _openParents(_items[i]);
                }
                // OnClick-Event draufpacken
                _items[i].onclick = function() {
                    if (_closeOtherItems) {
                        // Alle anderen Menüs bis auf dieses Item schließen
                        _closeMenus();
                        _toggleMenu(this);
                        _openParents(this);
                    } else {
                        // Nur dieses Togglen
                        _toggleMenu(this);
                    }
                    return false;
                };
                // Pathangabe als Title-Attribute (experimentell)
                if (_showItemPath) {
                    _items[i].title = _getItemPath(_items[i]);
                }
            }
        };

        // Sucht nach einem Submenu
        var _getSubMenu = function(el) {
            if (el.getElementsByTagName("ul").length) {
                return el.getElementsByTagName("ul")[0];
            } else {
                return false;
            }
        };

        // Den Menüpfad zurückgeben
        var _getItemPath = function(el) {
            var path = el.nr;
            while(el.parentNode.parentNode.parentNode.firstChild.tagName == 'A') {
                 path += ','+el.parentNode.parentNode.parentNode.firstChild.nr;
                 el = el.parentNode.parentNode.parentNode.firstChild;
            }
            return path;
        }

        // Alle Eltern-Menus öffnen
        var _openParents = function(el) {
            var parent = _getParent(el);
            while(parent.tagName == 'A') {
                 _showMenu(parent,true);
                 _addToStore(parent.nr);
                 parent = _getParent(parent);
            }
        }

        // Das Eltern-Menu zurückgeben
        var _getParent = function(el) {
            return el.parentNode.parentNode.parentNode.firstChild;
        }

        // Toggelt Menü auf/zu
        var _toggleMenu = function(el) {
            if (_hasClass(el.parent,_classIsOpen)) {
                _hideMenu(el);
            } else {
                _showMenu(el);
            }
            _saveStore();
        }

        // Alle Menus bis auf übergebenes schließen
        var _closeMenus = function() {
            for (var i = 0; i < _items.length; i++) {
                _hideMenu(_items[i]);
            }
        }

        // Ein Menu-Element zeigen
        var _showMenu = function(el) {
            _addClass(el.parent,_classIsOpen);
            _showElement(el.subMenu);
            _addToStore(el.nr);
        }

        // Ein Menu-Element verstecken
        var _hideMenu = function(el) {
            _removeClass(el.parent,_classIsOpen);
            _hideElement(el.subMenu);
            _removeFromStore(el.nr);
        }

        // 'offen'-status setzen
        var _addToStore = function(nr) {
            _savedItemsStore[nr] = nr;
        }

        // 'offen'-status entfernen
        var _removeFromStore = function(nr) {
             _savedItemsStore[nr] = null;
        }

        // Übergebene offene Items in ein array packen
        var _setOpenItems = function() {
            if (_openItems == null) return;
            _openItemsStore = new Array();
            var openItems = _openItems.split(',');
            for (var i = 0; i < openItems.length; i++) {
                _openItemsStore[openItems[i]] = openItems[i];
            }
        }

        // Status von CVString holen
        var _loadStore = function() {
            _savedItemsStore = new Array();
            var cvString = (_saveAsCookie && document.cookie) ? document.cookie : window.name;
            if (_openItems != null) cvString += ',' + _openItems;
            if (cvString) {
                //_log(cvString);
                var storedItems = cvString.split(',');
                for (var i = 0; i < storedItems.length; i++) {
                    _savedItemsStore[storedItems[i]] = storedItems[i];
                }
            }
        }

        // Status als CVString 'speichern'
        var _saveStore = function() {
            var cvString = '';
            for (var i = 0; i < _savedItemsStore.length; i++) {
                if (_savedItemsStore[i] != null) cvString += _savedItemsStore[i]+',';
            }
            if (_saveAsCookie) {
                document.cookie = cvString;
            } else {
                window.name = cvString;
            }
        }

        // Helper:
        // Schaut ob Element bestimmte Class hat
        var _hasClass = function(el,className) {
            var regexp = new RegExp(className,'g');
            return el.className.search(regexp) != -1;
        };

        // Fügt einem Element eine Class hinzu
        var _addClass = function(el,className) {
            el.className += (el.className.length) ? ' '+className : className;
        };

        // Entfernt Class von einem Element
        var _removeClass = function(el,className) {
            var regexp = new RegExp(' ?'+className,'g');
            el.className = el.className.replace(regexp,'');
        };

        // Setzt display auf 'block'
        var _showElement = function(el) {
            if (el) el.style.display = 'block';
        }

        // Setzt display auf 'none'
        var _hideElement = function(el) {
            if (el) el.style.display = 'none';
        }

        // Debug
        var _log = function(msg) {
            document.getElementById('debug').innerHTML += msg+'<br />';
        }

        // Public
        return {
            init: function(params) {
                _init(params);
            }
        };
    })();
</script>
</head>
<body>
    <ul id="myMenu" class="treeMenu">
        <li><a href="index.php">Something</a>
            <ul>
                <li><a href="index.php">Cool</a></li>
                <li><a href="index.php">Hot</a></li>
                <li><a href="index.php">Burner</a></li>
            </ul>
        </li>
        <li><a href="index.php">Trash</a>
            <ul>
                <li><a href="index.php">Blub</a></li>
                <li><a href="index.php">Zack</a></li>
                <li><a href="index.php">Peng</a>
                    <ul>
                        <li class="foobar"><a href="index.php">Again</a></li>
                        <li class="trallala"><a href="index.php">More</a>
                            <ul>
                                <li><a href="index.php">Again</a>
                                    <ul>
                                        <li><a href="index.php">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                                <li><a href="index.php">Super</a></li>
                                <li><a href="index.php">Whatever</a>
                                    <ul>
                                        <li><a href="index.php" id="openthisitem">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                                <li><a href="index.php">More</a>
                                    <ul>
                                        <li><a href="index.php">Foobar</a></li>
                                        <li><a href="index.php">More</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
    <script>
        // Initialize das Menu
        // Mit openItems wird beispielsweise alles bis zum Element 'Whatever' ausgeklappt
        // Nützlich mglw. für Deeplinks
        // TreeMenu.init({
        //      'menuId': 'myMenu',
        //      'openItems': '14'
        // });
        TreeMenu.init();
    </script>

</body>
</html>

Grüße
zweitaccount
  View user's profile Private Nachricht senden
 
Ähnliche Themen flash parameter übergeben
Parameter an flash übergeben ?
Text in Flash aus HTML als Parameter übergeben
Javascript Function Parameter
ID aus Datenbank in Javascript mit übergeben
Value eines Radiobuttons an Javascript übergeben
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.