1

I have a JQuery dropdown which is hiding behind a JQuery slideshow directly under it, here.

I need to get the dropdown on top...I have tried z-index to no effect.

From what I can see from doing research this is a fairly common issue...can anyone help?

Code:

#nav {
width:800px;
margin:0px auto 0px;
height:25px;
}

#nav ul {
height:25px;
margin:0 0px 0 0;
padding:0;
list-style:none;
}

#nav ul li {
background:#76bf43;
padding:5px 0px 0px 0px;
margin:0 10px 0 0;
color:#ffffff;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
width:100px;
text-align:center;
height:20px;
float:left;
}

#nav ul li:hover {
cursor:pointer;
}

#nav ul li ul {
margin:0;
padding:0;
}

#nav ul li ul li {
padding:0;
margin:0;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
height:25px;
}



<link rel="stylesheet" type="text/css" href="aaa-styles.css" />

<script src="jq.js"></script>

<script src="jquery.easing.1.3.js"></script>
<script src="jquery.timer.js"></script>
<script src="image-rotator.js"></script>



<script src="hoverIntent.js"></script> 
<script src="superfish.js"></script> 


<script> 

$(document).ready(function(){ 
    $("ul.sf-menu").superfish(); 
}); 

</script>


</head>



<body>

<script>
$(document).ready(function(){

//This keeps track of the slideshow's current location
var current_panel = 1;
//Controlling the duration of animation by variable will simplify changes
var animation_duration = 2500;

$.timer(6000, function (timer) {
    //Determine the current location, and transition to next panel
    switch(current_panel){
        case 1:
            $("#slideshow").stop().animate({left: "-800px", top: "0px"}, {easing: 'easeOutBack', duration: animation_duration});
            current_panel = 2;
        break;
        case 2:
            $("#slideshow").stop().animate({left: "0px", top: "-210px"}, {easing: 'easeOutBack', duration: animation_duration});
            current_panel = 3;
        break;
        case 3:
            $("#slideshow").stop().animate({left: "-800px", top: "-210px"}, {easing: 'easeOutBack', duration: animation_duration});
            current_panel = 4;
        break;
        case 4:
            $("#slideshow").stop().animate({left: "0px", top: "0px"}, {easing: 'easeOutBack', duration: animation_duration});
            current_panel = 1;
        break;
        timer.reset(12000);
    }
});

});
</script>
Sotiris
  • 38,986
  • 11
  • 53
  • 85
  • Use something like the developer mode in Chrome or Safari to troubleshoot this. Using it you can see the exact styling that is applied to dynamically created elements... – Kris Jul 16 '11 at 16:02

2 Answers2

1

I can only guess you were trying z-index on the wrong element. Give this a go.

#nav {
    position: relative;
    z-index: 40000;
}

You should find that will fix your issue.

daryl
  • 14,307
  • 21
  • 67
  • 92
0

for #nav ul add position:relative;z-index:1;

z-index always applies to positioned elements as css documentation inform us.

Read more here.

Sotiris
  • 38,986
  • 11
  • 53
  • 85