1. #1
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard Problem bei Gestaltung

    Gibt es eine Möglichkeit, dass ein Objekt beim übersrollen eines bestimmten Teils der Website seine Eigenschaften ändert?
    Also bei mir soll sich die Farbe eines Links beim überscrollen eines bestimmten Abschnittes des Inhalts ändern. Und die soll es dann auch so behalten.

    Aufgebaut ist die Seite so, dass auf der linken Seite die Navigation ist (das div hat position:fixed; ) und auf der rechten Seite der Inhalt ist (dieses div hat position:relative; ).

    Das müsste doch sicher per JavaScript möglich sein, nur weiß ich nicht, wie genau, da ich mich mit JavaScript noch nicht wirklich beschäftigt habe.

  2. #2
    Avatar von balthier9999
    Mitglied seit
    26.02.2007
    Beiträge
    5.788
    Blog-Einträge
    54

    Standard

    Wenn es schon beim Scrollen wechseln soll, weiß ich jetzt aus dem Stehgreif keine Lösung (obwohl sich das sicher auch machen lässt irgendwie). Aber es ginge auch recht einfach, wenn der Mauszeiger über den entsprechenden Bereich geht; dann würde sich allerdings die Farbe nicht ändern, wenn man via Scrollleiste scrollt.
    Dazu müsste man einfach sagen, wenn die Maus über Bereich (div) geht, dann färbe Link so und so. Der Code ist so einfach, dass man ihn ohne Probleme sogar inline schreiben könnte: onmouseover="getElementById(??).style.color(#????? ?)";
    Die ersten ?? stehen für die ID des Links. Die Farbe (die zweiten #??????) würde dann auch automatisch so bleiben.
    NYANNYANNYANNYANNYANNYAN

  3. #3
    Avatar von *Kira*
    Mitglied seit
    15.05.2007
    Ort
    am Bodensee
    Alter
    27
    Beiträge
    4.077

    Standard

    Zitat Zitat von balthier9999 Beitrag anzeigen
    onmouseover="getElementById(??).style.color(#????? ?)";
    Die ersten ?? stehen für die ID des Links. Die Farbe (die zweiten #??????) würde dann auch automatisch so bleiben.
    onmouseover="this.style.color(#??????)"; tut es auch, wenn du keine IDs benutzt.
     OS X Mavericks 10.9 (rMBP11,3) | kabel bw 2 Play PLUS 100 | Safari 7.0 | Apple Mail (Gmail)
    Cynamite-Profil | PSN-ID Card | Desktopbild im September
    Spielt: The Last of Us (PS3) | Schaut: - | Hört: Spotify Premium
    KAUFT KEIN DLC!

  4. #4
    Avatar von balthier9999
    Mitglied seit
    26.02.2007
    Beiträge
    5.788
    Blog-Einträge
    54

    Standard

    Na ja, die Link-Farbe soll ja nicht wechseln, wenn der Link berührt wird. Sie soll beim MouseOver eines DIV sich ändern.
    NYANNYANNYANNYANNYANNYAN

  5. #5
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Das mit dem onmouseover hab ich schon, mir geht es um das scrollen.
    Zur Not muss ich es halt mit dem onmouseover von dem div machen. Aber mir wäre es lieber, wenn es sich beim überscollen ändern würde. Mal sehen, vielleicht weiß ja noch jemand eine Lösung.

  6. #6
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Ich weiß, es passt hier nicht wirklich rein, aber ich wollte nicht extra einen neuen Thread aufmachen.

    Also, ich habe noch 2 (kleine) Probleme.

    1.) Ich brauche ein Script o.Ä., das eine Warnmeldung ausgibt, wenn man den IE benutzt, da meine Seite dort nicht richtig dargestellt wird.

    2.) Hier suche ich ein Script, welches den Ladezustand der Bilder anzeigt. Der soll dann in einer Navi-Leiste (wie hier: http://endofgreen.npage.de/) angezeigt werden.


    Ich hoffe, Ihr könnt mir dabei helfen.

  7. #7
    Avatar von *Kira*
    Mitglied seit
    15.05.2007
    Ort
    am Bodensee
    Alter
    27
    Beiträge
    4.077

    Standard

    Zitat Zitat von SonicSyndicate95 Beitrag anzeigen
    1.) Ich brauche ein Script o.Ä., das eine Warnmeldung ausgibt, wenn man den IE benutzt, da meine Seite dort nicht richtig dargestellt wird.
    Bitte verwende nicht zu viele (unnötige) Scripts. Einfache Webseiten sollten auf jedem Browser identisch aussehen. Das Argument, dass der IE nicht viel unterstützt, ist falsch. Warnmeldungen und ein "Verbot" die Seite nicht anzuzeigen sollten vermieden werden.
    Du könntest hiermit den IE ansprechen und ein "Fix"-Style einbinden:
    HTML-Code:
    <!--[if IE]>
            <link rel="stylesheet" type="text/css" media="screen" href="./css/ie.css">
    <![endif]-->
    Zitat Zitat von SonicSyndicate95 Beitrag anzeigen
    2.) Hier suche ich ein Script, welches den Ladezustand der Bilder anzeigt. Der soll dann in einer Navi-Leiste (wie hier: Cynamite-Profil - SonicSyndicate95) angezeigt werden.
    Wie groß sind die Bilder, die geladen werden müssen? Meist lädt/initialisiert der Browser die Bilder so schnell, dass du selbst eine, als Hintergrundbild eingefügte, Ladeanimation nicht erkennst.
    Geändert von *Kira* (15.12.2010 um 21:33 Uhr)
     OS X Mavericks 10.9 (rMBP11,3) | kabel bw 2 Play PLUS 100 | Safari 7.0 | Apple Mail (Gmail)
    Cynamite-Profil | PSN-ID Card | Desktopbild im September
    Spielt: The Last of Us (PS3) | Schaut: - | Hört: Spotify Premium
    KAUFT KEIN DLC!

  8. #8
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Zitat Zitat von *Kira* Beitrag anzeigen
    Bitte verwende nicht zu viele (unnötige) Scripts. Einfache Webseiten sollten auf jedem Browser identisch aussehen. Das Argument, dass der IE nicht viel unterstützt, ist falsch. Warnmeldungen und ein "Verbot" die Seite nicht anzuzeigen sollten vermieden werden.
    Du könntest hiermit den IE ansprechen und ein "Fix"-Style einbinden:
    HTML-Code:
    <!--[if IE]>
            <link rel="stylesheet" type="text/css" media="screen" href="./css/ie.css">
    <![endif]-->
    Naja, aber der IE erkennt nichtmal das Attribut margin, und darauf bin ich hier angewiesen. Ich möchte einfach nur eine Warnmeldung ausgeben, dass die Seite mit dem IE nicht korrekt dargestellt wird und daher ein besserer Browser verwendet werden sollte.

    Zitat Zitat von *Kira* Beitrag anzeigen
    Wie groß sind die Bilder, die geladen werden müssen? Meist lädt/initialisiert der Browser die Bilder so schnell, dass du selbst eine, als Hintergrundbild eingefügte, Ladeanimation nicht erkennst.
    Es sind kleine Bilder, aber davon viele (Aufzählung der Trophäen, etc.). Und dort ist selbst mit einer recht ordentlichen Internetverbindung die Animation zu sehen. Ich bin auch auf andere Seiten angewiesen und falls dort mal die Server nicht so funktionieren, wie sie eigentlich sollen, soll der Besucher wenigstens sehen, dass die Bilder nicht geladen sind.

    Edit:

    Hab das Problem mit dem IE jetzt folgendermaßen gelöst:

    HTML-Code:
    <!--[if IE]>
    <script type="text/javascript">
    <!--
    alert("Diese Seite ist nicht für den Internet Explorer geeignet! Bitte benutzen Sie einen besseren Browser! (z.B. Firefox)");
    //-->
    </script>
    <![endif]-->
    Jetzt fehlt nur noch die Abfrage des Ladezustandes.^^
    Geändert von EndOfGreen (16.12.2010 um 21:34 Uhr)

  9. #9
    Avatar von Gamemaster1883
    Mitglied seit
    14.03.2008
    Ort
    Aus der Steiermark
    Alter
    30
    Beiträge
    3.586
    Blog-Einträge
    22

    Beitrag

    Ich versteh da nur Bahnhof bei den HTML Codes.Wie kann man sich denn sowas merken ?

    Unglaublich,wer das kann.

    @SonicSyndicate95 : Ich wende das zwar auch an (Begrüssung),aber so richtig geschnallt habe ich das bis heute noch nicht. (Die aufwendigen Sachen machen halt) Hole mir da meistens Hilfe wenns um sowas geht ^^ Meine Sister kennt sich damit besser aus.

    Danke auch an Perfektagent.Er hat mir auch schon geholfen.
    Geändert von Gamemaster1883 (20.12.2010 um 01:06 Uhr)

  10. #10
    Avatar von balthier9999
    Mitglied seit
    26.02.2007
    Beiträge
    5.788
    Blog-Einträge
    54

    Standard

    Zitat Zitat von SonicSyndicate95 Beitrag anzeigen
    Es sind kleine Bilder, aber davon viele (Aufzählung der Trophäen, etc.). Und dort ist selbst mit einer recht ordentlichen Internetverbindung die Animation zu sehen. Ich bin auch auf andere Seiten angewiesen und falls dort mal die Server nicht so funktionieren, wie sie eigentlich sollen, soll der Besucher wenigstens sehen, dass die Bilder nicht geladen sind.
    Erspare dir und den Besuchern das Script: Mach einfach ein Background-Bild mit einem animierten GIF. Solange ein Bild nicht geladen ist, sieht man das dahinter liegende GIF.

    @IE: Absolut falsche Entscheidung. Wenn deine Website nicht auf allen aktuellen Browsern richtig dargestellt wird, dann machst du etwas falsch. Bedenke, dass laut Statistik etwa die Hälfte der User den IE benutzt. Du verwehrst also der Hälfte den Zugriff auf deine Website; die werden nicht extra den FF, sollte er denn installiert sein, starten, sondern deine Website wegklicken.
    NYANNYANNYANNYANNYANNYAN

  11. #11
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Es geht mir ja nicht um das Hintergrundbild; es sind die Trophäenbilder und Banner, die vorhanden sein sollten.

    Die Seite ist nur für Informatik, also geht die nicht online. Allerdings werde ich einiges davon nochmal in eine andere Seite einbauen, die ich dann online stelle.


    @Gamemaster: Wenn man sich ein bisschen damit beschäftigt - das vor allem anwendet -, merkt man sich das ganz leicht.

  12. #12
    Avatar von balthier9999
    Mitglied seit
    26.02.2007
    Beiträge
    5.788
    Blog-Einträge
    54

    Standard

    Hast mich wohl nicht richtig verstanden:
    HTML-Code:
    <style type="text/css">
    .laden { background-image:url(ladeani.gif); }
    </style>
    <body>
    <div class="laden"><img src="bild1.jpg" /></div>
    <div class="laden"><img src="bild2.jpg" /></div>
    <div class="laden"><img src="bild3.jpg" /></div>
    </body>
    Das GIF-Bild ist recht klein, man kann es aber relativ einfach via JS zuerst laden lassen. Jedenfalls ist hinter jedem Bild das Hintergrundbild mit dem animierten GIF, welches eine Ladeanimation darstellt. Sollte ein Bild also nicht geladen sein, sieht der User die GIF-Ani hinter dem Bild. Ist also ein kleiner Trick, hab ich bei meinem alten Profil auch angewendet.
    Der Trick ist allerdings völligst ausreichend und erspart dir das Script. (Script sollte man, wenn es geht, immer meiden; man weiß nie, ob der User JS deaktiviert hat – im Gegensatz zu Usern, die CSS ausgeschaltet haben, ist das sogar sehr wahrscheinlich, wegen dem Addon NoScript.)
    Ich weiß nicht, was deine Lehrer erwarten. Wenn es explizit ums Scripten geht, kann man das ja machen, aber das wäre mir dann schon wieder zu wenig.^^ Ein Alert aufrufen, wenn’s ein IE ist, ist einfach.^^
    NYANNYANNYANNYANNYANNYAN

  13. #13
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Bei den Hintergründen ist es eigentlich nicht so wichtig, ob die geladen sind oder nicht - das sind sowieso nur Farbverläufe.
    Mir geht es - wie schon gesagt - um die vielen Trophäenbilder, die da sein müssen.

    Zitat Zitat von balthier9999 Beitrag anzeigen
    Ich weiß nicht, was deine Lehrer erwarten. Wenn es explizit ums Scripten geht, kann man das ja machen, aber das wäre mir dann schon wieder zu wenig.^^ Ein Alert aufrufen, wenn’s ein IE ist, ist einfach.^^
    Also es gibt halt Pluspunkte, wenn wir JS & CSS verwenden. Deshalb basiert meine Navi auch auf JS, was ich bei einer öffentlichen Seite nie tun würde; aber bei sowas kann man das schonmal machen.


    Ich hatte die Frage bezüglich des Ladezustandes jetzt nochmal in einem richtigen Forum für HTML, JavaScript usw. gestellt und dort wurde mir gesagt, dass das nicht geht. Aber eigentlich müsste man das doch umsetzen können.

  14. #14
    Avatar von balthier9999
    Mitglied seit
    26.02.2007
    Beiträge
    5.788
    Blog-Einträge
    54

    Standard

    Aaargh, verstehst du denn nicht den Code da oben?!
    NYANNYANNYANNYANNYANNYAN

  15. #15
    Themenstarter
    Avatar von EndOfGreen
    Mitglied seit
    30.01.2010
    Ort
    Cottbus
    Alter
    24
    Beiträge
    1.262

    Standard

    Doch, natürlich; nur will ich an einer bestimmten Stelle der Seite den Ladezustand für alle Bilder anzeigen und nicht für jedes einzeln.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •