tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
522
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Teilzeitphilosoph Teilzeitphilosoph ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Beiträge
    136
    Moinz.
    Ich bin mir nich ganz sicher, ob ich hier richtig bin aber ich probiers einfach mal.
    Mittels JQuery möchte ich gerne ein BG-I in einem a-Tag austauschen. Dazu hab ich folgenden Code

    Code :
    1
    2
    3
    4
    
     
    function change(){
       $('a.myLnk').css("background-image", "url(../img/newPic.gif)");
    }

    Die Funktion wird sofort beim Start aufgerufen. Ein Alert klappt 1a.

    Und im HTML sieht es so aus

    HTML-Code:
    ...
    <a href="newSite" class="myLnk">Hier lang</a>
    ...
    
    CSS:
    a.myLnk:link, a.myLnk:active, a.myLnk:visited { padding-left: 12px; background: url("../img/oldPic.gif") no-repeat left; font-size: 12px; color: #58585a; text-decoration: none; }
    Und vielleicht auch noch wichtig: Im Firebug kann ich, wenn ich über den Link gehe, das hier sehen:

    HTML-Code:
    element.style {
    background-image:url("../img/newPic.gif");
    }
    
    a.myLnk:link, a.myLnk:active, a.myLnk:visited {
    background:url("../img/oldPic.gif") no-repeat scroll left center transparent;
    color:#58585A;
    font-size:12px;
    padding-left:12px;
    text-decoration:none;
    }

    Das Problem: Es passiert nix...mein kleines Gif verschwindet komplett und ich weiß -noch- nicht warum. Hat jemand ne Idee?
    Es gibt gewiss auch andere Wege aber ich muss JQuery nehmen.

    -bedank-
    Geändert von Teilzeitphilosoph (22.07.10 um 12:57 Uhr)
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    1.) Eventuell existiert die Datei nicht.

    2.) Ich bin mir nicht sicher, ob das was ausmacht, aber müssen bei url keine Anführungsstriche sein:?
    Code css:
    1
    
    background-image: url('...');
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    Teilzeitphilosoph Teilzeitphilosoph ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Beiträge
    136
    Doch, die Datei existiert. Wenn ich im Firebug den Pfad von Hand anpasse, klappt alles.
    Das mit dem Anführungsstrichen in der URL hab ich getestet aber es hat nix gebracht...leider.
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    Heißt, das, dass background-image gar nicht gesetzt wird?
    Nunja mit jQuery kenne ich mich (noch, lerne es gerade) nicht so gut aus, vielleicht kann die ja ein Andere helfen.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Blöde Idee:
    Ist vielleicht das Bild newPic.gif links mittig (left center) weiß oder transparent und du siehst es nur nicht? Kannst du mir Firebug (auf der rechten Seite bei "Styles") mit der rechten Maus "Grafik in neuen Tab öffnen" machen und das ist die korrekte Datei?

    Edit:
    Wenn
    Code css:
    1
    2
    3
    
    element.style {
    background-image:url("../img/newPic.gif");
    }
    da ist, kann JQuery schon nicht mehr die Ursache sein. Es muss also ein Fehler in dieser einen Zeile sein.
     

  6. #6
    Teilzeitphilosoph Teilzeitphilosoph ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Beiträge
    136
    Ich bin mir nich ganz sicher, ob das nich doch was im JQ ist. Zwar stimmt der Pfad aber der Firebug gibt mir kein richtiges Vorschaubild, wenn ich mit der Maus über den Link gehe. Er zeigt mir immer noch das alte Pic an.
    Ich hab das neue Bild mit einem rotem Quadrat ausgetauscht....nüscht. Irgendwas muss ich übersehen haben....

    Und was mich auch interessieren würde: Wie kann ich mittels JQuery z.B. die Änderung nur bei a.myLnk:hover ausführen? Ein

    $('a.myLnk:hover')

    hat nix gebracht.
     

  7. #7
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Kannst du vielleicht ein kleines Beispiel-HTML-Dokument erstellen und uns geben, dann können wir auch rumtesten?

    Bei welchem Ereignis führst du denn jetzt die Ersetzung durch, wenn nicht bei hover?
    Code javascript:
    1
    2
    3
    4
    5
    
    $('a.myLnk').hover(function() {
        $(this).css("foo", "bar");
    }, function() {
        $(this).css("foo2", "bar2");
    });

    Edit:
    Vielleicht beißt sich auch das
    Code css:
    1
    2
    
    a.myLnk:link, a.myLnk:active, a.myLnk:visited {
    }
    mit der Inline-Deklaration. Nimm mal nur
    Code css:
    1
    2
    
    a.myLnk {
    }
    Geändert von CPoly (22.07.10 um 13:28 Uhr)
     

  8. #8
    Teilzeitphilosoph Teilzeitphilosoph ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Beiträge
    136
    Ich hab´s. Es stellte sich heraus, dass der Pfad komplett sein muss. Mit "../" klappt nichts aber bei der vollen URL läuft es perfekt. Wieder was gelernt.
    Meinen Dank für die Antworten!
     

  9. #9
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    Ich hab´s. Es stellte sich heraus, dass der Pfad komplett sein muss. Mit "../" klappt nichts aber bei der vollen URL läuft es perfekt. Wieder was gelernt.
    Sorry aber das ist falsch.
    Das es mit eine absolutem Pfad funktioniert ist logisch. Es funktioniert aber durchaus auch mit einem relativen Pfad, voraussgesetzt dieser stimmt, wovon ich in deinem Fall mal nicht ausgehe.
     
    In order to understand recursion, one must first understand recursion.

  10. #10
    Teilzeitphilosoph Teilzeitphilosoph ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Beiträge
    136
    Damit hast du absolut recht und das ist auch der nächste Schritt. Aber soweit bin ich froh, dass es klappt.
     

  11. #11
    CPoly CPoly ist gerade online Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Ich tippe mal dein Stylesheet liegt in einem Order (foo/css/style.css) und das Bild in einem anderen (foo/img/bild.gif). Deshalb auch die "../" beim relativen Pfad. Dein HTML Dokument liegt dann wohl in foo/index.html, womit du das bild durch "img/bild.gif" erreichst, denn der Pfad bezieht sich dann nicht mehr auf die css-Datei sondern auf die html-Datei.
     

  12. #12
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.363
    Blog-Einträge
    4
    @CPoly: Heißt das, dass ich einen Pfad in einer CSS-Datei immer relativ zu dieser CSS-Datei halten muss?
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. background-image vs <img>
    Von Psychodelics im Forum CSS
    Antworten: 5
    Letzter Beitrag: 14.01.10, 10:19
  2. Antworten: 2
    Letzter Beitrag: 06.07.08, 01:12
  3. background-image
    Von crashx im Forum CSS
    Antworten: 2
    Letzter Beitrag: 09.02.06, 23:00
  4. Background image
    Von lernen.2007 im Forum CSS
    Antworten: 5
    Letzter Beitrag: 19.01.06, 07:31
  5. Antworten: 2
    Letzter Beitrag: 01.12.05, 14:44