SACHIN HD
SACHIN HD

Reputation: 45

JQuery Change class of a span on hover over respective li

I am a novice in Jquery the below function is not working,what i am trying to do is similar to hover image thumbnail to display preview.

I have group of li's with class like "onelink" and group ofspans "one" etc. on hover of respective li want to toggle class of the span with same name

function displaydesc(id) {
  id = id.replace('link', '');
  $("#" + id).toggleClass("vis");
}

$(".list>ul>li").hover(
  function() {
    displaydesc($(this).attr("id"));
  });
.description span {
  position: absolute;
  display: none;
}
.vis {
  display: block !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="list">
  <ul>
    <li id="onelink">one</li>
    <li id="twolink">two</li>
    <li id="threelink">three</li>
    <li id="fourlink">four</li>
  </ul>
</div>
<div class="description">
  <span id="one">Lorem ipsum dolor.</span>
  <span id="two">Tempore tenetur, doloribus.</span>
  <span id="three">Culpa, fuga adipisci.</span>
  <span id="four">Commodi, quisquam, quaerat!</span>
</div>

Upvotes: 0

Views: 1055

Answers (2)

Dhaval
Dhaval

Reputation: 2379

use .list instead of .Heading

 function displaydesc(id){
    id=id.replace('link','');
    $("#"+id).toggleClass("vis");
}

$(".list>ul>li").hover(
function(){
displaydesc($(this).attr("id"));
});
.description span{
position: absolute;
display: none;
}

.vis{
display: block !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<div class="list">
<ul>

                        <li id="onelink">one</li>
                        <li id="twolink">two</li>
                        <li id="threelink">three</li>
                        <li id="fourlink">four</li>
</ul>
</div>

<div class="description">
    <span id="one">Lorem ipsum dolor.</span>
    <span id="two">Tempore tenetur, doloribus.</span>
    <span id="three">Culpa, fuga adipisci.</span>
    <span id="four">Commodi, quisquam, quaerat!</span>
</div>

Upvotes: 1

VaMoose
VaMoose

Reputation: 196

In your jQuery, instead of .heading, use .list, as it is linking to something else.

So it should be:

$(".list>ul>li").hover(
function(){
displaydesc($(this).attr("id"));
});

Here is the jsFiddle

Upvotes: 2

Related Questions