0

So I have this problem, which I couldn't find, even though I did a thorough websearch.

I am making my portfolio, and the background is a picture of a woman, located in the center. On the left I have a nav bar with link to other pages.

What I basicly want, is the background image to change when I hover over one of the links. Whether it's through CSS, Javascript or JQuery, I want to know if it's possible.

Thank you in advance.

Edit: Sorry, I'll try to provide the best I can.

HTML

<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="jquery-1.10.2.min.js"></script>
<script src="jquery.js"></script>


<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<div class="header">/jacob gerlif pilegaard/</div>
<div class="underheader">portfolio</div>
<ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="about.html">About</a></li>
    <li><a href="gallery.html"">Gallery</a></li>
    <li><a href="contact.html">Contact</a></li>
    </ul> 
 <h1>About me...</h1>
 <p> bla bla bla bla bla</p>
 <div id="circles"></div>

This is the basic html. The id="baggrund" is the image I want to change to something else.

CSS

#baggrund {
background-image: url(images/laerkeryg.jpg);
background-repeat: no-repeat;
width: 720px;
height: 394px;
position: absolute;
left: 805px;
top: 10%;}

This is the CSS for the image I want to have replaced.

Jquery

$( document ).ready(function() {
    $("#first").hover(function () {
    $("baggrund").css("background-image", 'url("images/Kat5.jpg")');
});
});

Hope this helps, and thanks again.

Jacob
  • 229
  • 2
  • 3
  • 12

5 Answers5

1

Here's a generic jquery answer to your question:

$('a.class').on('mousein', function(){
   $('#portfolio').css('background-image', 'url("other.jpg")');
});
$('a.class').on('mouseout', function(){, function(){
  $('#portfolio').css('background-image', 'url("woman.jpg")');
});
Eric H.
  • 6,894
  • 8
  • 43
  • 62
  • This was what I was looking for. Thank you very much. Seems as if my jquery library was not installed correctly among other things. Thank you very much again. – Jacob Sep 17 '13 at 20:54
0

Yes, here's a rough example via JSFiddle http://jsfiddle.net/dGnMX/

<nav>
     <a id="first">Link 1</a>
     <a id="second">Link 1</a>
     <a id="third">Link 1</a>
    </nav>

$("#first").click(function () {

    $("body").css("background-image", 'url("http://static.bbc.co.uk/solarsystem/img/ic/640/collections/space_exploration/space_exploration_large.jpg")');

});



$("#second").click(function () {

    $("body").css("background-image", 'url("http://i.telegraph.co.uk/multimedia/archive/02179/Milky-Way_2179177b.jpg")');

});

$("#third").click(function () {

    $("body").css("background-image", 'url("http://www.thatsreallypossible.com/wp-content/uploads/2012/12/Space-Colonialisation.jpg")');

});
Daniel Schwarz
  • 284
  • 1
  • 10
0

You don't need JavaScript to do that, you can use :hover pseudo-class on pure CSS 2.1:

#baggrund:hover {
    background-image: url('images/Kat5.jpg');
}
falsarella
  • 12,217
  • 9
  • 69
  • 115
0

Here's perfect tested solution:

$(document).ready(function() {

        $('a.class').hover(

           function () {
              $('#portfolio').css('background-image', 'url("other.jpg")');
           }, 

           function () {
              $('#portfolio').css('background-image', 'url("woman.jpg")');
           }
        );

     });
Atif Tariq
  • 2,650
  • 27
  • 34
0

Here's the solution i've come across by changing background-image position on hover

<!--HTML-->
<div class="twitter1">
    <a href="https://twitter.com">
    </a>
</div>

/*CSS*/
.twitter1 a{
display: block;
background: url(12.\ Sprites.png) 0px 0px;
background-repeat: no-repeat;
width: 50px;
height: 47px;
}

.twitter1 a:hover{
background: url(12.\ Sprites.png) 0px 52px;
}