2016-04-12 16 views
0

Ich habe eine neue Frage.jQuery zeigt kein Hintergrundbild

Ich versuche, ein Hintergrundbild für ein A-Element anzuzeigen. Bei Mouseover sollte das Bild zu einem anderen Bild wechseln. Das Problem ist, dass die Bilder nicht angezeigt werden. Als ich den Code in CSS hatte, funktionierte es gut, also muss es meine Funktion sein, die Probleme macht.

Mein Code:

jQuery(document).ready(function($){ 
    $(document).ready(function() { 
     $(".person").css({background-image: url('<?php echo get_stylesheet_directory_uri(); ?>/img/person.jpg')}); 
     $(".person").mouseover(function() { 
      $(this).css({background-image: url('<?php echo get_stylesheet_directory_uri(); ?>/img/person-hover.jpg')});  
     });  
    }); 
    var body = $('body'); 
}); 

HTML:

<div class="silhoulettes"> 
    <a class="person" href="<?php echo get_permalink(41); ?>"></a> 
</div> 

Es gibt einige PHP-Wordpress-Funktionen zwischen.

Vielen Dank im Voraus!

+0

Ist der PHP-Teil mindestens verarbeitet (muss in einer PHP-Datei gesetzt werden)? Browser einchecken, welche URL du bekommst –

+0

Also hast du überprüft, was das Ergebnis von 'get_stylesheet_directory_url()' ist, und hast du verifiziert, dass die resultierende URL korrekt ist? – Glubus

+0

Nicht mit der Frage verwandt, aber um zu denken, dass Sie sauberer sind, können Sie shorthand PHP-Tags innerhalb von HTML verwenden. ' scottevans93

Antwort

2

The correct way of giving css via jQuery is css("propertyname","value"); and css({"propertyname":"value","propertyname":"value",...}); for multiple style.

Versuchen Sie, diese

$(".person").css({"background-image"," url('<?php echo get_stylesheet_directory_uri(); ?>'/img/person.jpg")}); 
$(".person").mouseover(function() { 
    $(this).css({"background-image", "url('<?php echo get_stylesheet_directory_uri(); ?>'/img/person-hover.jpg")});  
}); 

Änderungen Hergestellt

$(".person").css({background-image: url('<?php echo get_stylesheet_directory_uri(); ?>/img/person.jpg')}); 

zu

$(".person").css({"background-image"," url('<?php echo get_stylesheet_directory_uri(); ?>'/img/person.jpg")}); 
+0

Leider habe ich einen Fehler: 'Uncaught SyntaxError: Unerwartete Token,' Ich habe gelesen, dass ich css in jquery wie dieses verwenden kann, um Elemente miteinander zu kombinieren: '$ ('p'). Css ({color: grün, Schriftgröße: 14px}); ' – Dandy

+0

Es funktioniert! Sie haben einige Fehler mit Apostrophen gemacht. Vielen Dank. Könnten Sie bitte diesen Teil kommentieren: '$ ('p'). Css ({color: green, font-size: 14px});'. Stimmt es mit jQuery? – Dandy

+0

Können Sie mich wissen lassen, wo ich die Apostrophe ändern kann? Damit ich meine Antwort verbessern kann. –

0

Try unter Syntax

var imgUrl = '<?php echo get_stylesheet_directory_uri(); ?>/img/person.jpg'; 

$(".person").css("background-image","url("+ imgUrl +")");