Need WP Plugin z-index help

by alanaj
1 replies
  • WEB DESIGN
  • |
I have been trying for days now to fix this. My slideshow plugin is hiding my dropdown menu. I know it has something to do with the z-index and possibly the position: absolute or relative, but I have no idea what to do and where.

I've tried adding several different z-index codes to my Custom CSS box with no solution. Any help will be greatly appreciated. BTW - the slideshow sits in div element (fadeshow1).


CSS navi code:
PHP Code:
#navi {
margin0;
floatleft;
padding0 10px;
width930px;
backgroundurl(images/navi_bg.pngrepeat-#333;
font-familytahomaarial;
-
moz-border-radius-topleft:10px/* Firefox */
-moz-border-radius-topright:10px/* Firefox */
-webkit-border-top-left-radius:10px/* Safari, Chrome */
-webkit-border-top-right-radius:10px/* Safari, Chrome */
-khtml-border-top-left-radius:10px/* Konqueror */
-khtml-border-top-right-radius:10px/* Konqueror */
}
#navi ul{
margin0;
padding0;
list-
style-typenone;
}
/*Top level list items*/
#navi ul li{
positionrelative;
displayinline;
floatleft;
margin0;
}
/*Top level menu link items style*/
#navi ul li a{
displayblock;
padding10px 20px;
font-size1.0em;
font-weightbold;
}
#navi ul li a:link, #navi ul li a:visited{
color#fff;
text-decorationnone;
}
#navi ul li a:hover{
color#ccc;
background#333;
}
/*1st sub level menu*/
#navi ul li ul{
positionabsolute;
displayblock;
visibilityhidden;
z-index10;
margin: -1px 0 0 0;
padding0;
background#333;
}
/*Sub level menu list items (undo style from Top level List Items)*/
#navi ul li ul li{
display: list-item;
floatnone;
margin!important;
padding!important;
border-bottom1px solid #444;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
#navi ul li ul li ul{
margin-top: -1px !important;
}
/* Sub level menu links style */
#navi ul li ul li a{
width170px/*width of sub menus*/
padding10px !important;
margin!important;
font-weightnormal !important;
font-size0.9em;
color#eee !important;
text-decorationnone !important;
}
#navi ul li ul li a:hover{
background#444;
color#ddd !important;
}
#navi ul li.current_page_item a strong, #navi ul li.current-cat a strong, #navi ul li.current-menu-item a strong{
text-decorationunderline;


Superb Slideshow Gallery JS code:

PHP Code:
var SuperbSlideshowGallery_descpanel={
controls: [['http://www.gopiplus.com/work/wp-content/plugins/superb-slideshow-gallery/inc/x.png',7,7], ['http://www.gopiplus.com/work/wp-content/plugins/superb-slideshow-gallery/inc/restore.png',10,11], ['http://www.gopiplus.com/work/wp-content/plugins/superb-slideshow-gallery/inc/loading.gif',54,55]], //full URL and dimensions of close, restore, and loading images
fontStyle'normal 11px Verdana'//font style for text descriptions
slidespeed200 //speed of description panel animation (in millisec)
}
 
jQuery.noConflict()
function 
SuperbSlideshowGallery(settingarg){
this.setting=settingarg
settingarg
=null
var setting=this.setting
setting
.fadeduration=setting.fadedurationparseInt(setting.fadeduration) : 500
setting
.curimage=(setting.persist)? SuperbSlideshowGallery.routines.getCookie("gallery-"+setting.wrapperid) : 0
setting
.curimage=setting.curimage || //account for curimage being null if cookie is empty
setting.currentstep=//keep track of # of slides slideshow has gone through (applicable in displaymode='auto' only)
setting.totalsteps=setting.imagearray.length*(setting.displaymode.cycles>0setting.displaymode.cycles Infinity//Total steps limit (applicable in displaymode='auto' only w/ cycles>0)
setting.fglayer=0setting.bglayer=//index of active and background layer (switches after each change of slide)
setting.oninit=setting.oninit || function(){}
setting.onslide=setting.onslide || function(){}
if (
setting.displaymode.randomize//randomly shuffle order of images?
setting.imagearray.sort(function() {return 0.5 Math.random()})
var 
preloadimages=[] //preload images
setting.longestdesc="" //get longest description of all slides. If no desciptions defined, variable contains ""
for (var i=0i<setting.imagearray.lengthi++){ //preload images
preloadimages[i]=new Image()
preloadimages[i].src=setting.imagearray[i][0]
if (
setting.imagearray[i][3] && setting.imagearray[i][3].length>setting.longestdesc.length)
setting.longestdesc=setting.imagearray[i][3]
}
var 
closebutt=SuperbSlideshowGallery_descpanel.controls[0//add close button to "desc" panel if descreveal="always"
setting.closebutton=(setting.descreveal=="always")? '<img class="close" src="'+closebutt[0]+'" style="float:right;cursor:hand;cursor:pointer;width:'+closebutt[1]+'px;height:'+closebutt[2]+'px;margin-left:2px" title="Hide Description" />' ''
var slideshow=this
jQuery
(document).ready(function($){ //fire on DOM ready
var setting=slideshow.setting
var fullhtml=SuperbSlideshowGallery.routines.getFullHTML(setting.imagearray//get full HTML of entire slideshow
setting.=$('#'+setting.wrapperid).css({position:'relative'visibility:'visible'background:'white'overflow:'hidden'width:setting.dimensions[0], height:setting.dimensions[1]}).empty() //main slideshow DIV
if (setting..length==0){ //if no wrapper DIV found
alert("Error: DIV with ID ""+setting.wrapperid+"" not found on page.")
return
}
setting.=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>'//two stacked DIVs to display the actual slide 
.css({position:'absolute'left:0top:0width:'100%'height:'100%'background:'white'})
.
appendTo(setting.)
var =$(
'<img src="'+SuperbSlideshowGallery_descpanel.controls[2][0]+'" style="position:absolute;width:'+SuperbSlideshowGallery_descpanel.controls[2][1]+';height:'+SuperbSlideshowGallery_descpanel.controls[2][2]+'" />')
.
css({left:setting.dimensions[0]/2-SuperbSlideshowGallery_descpanel.controls[2][1]/2top:setting.dimensions[1]/2-SuperbSlideshowGallery_descpanel.controls[2][2]}) //center loading gif
.appendTo(setting.)
var =
setting..html(fullhtml).find('img').hide().eq(setting.curimage//prefill both layers with entire slideshow content, hide all images, and return current image
if (setting.longestdesc!="" && setting.descreveal!="none"){ //if at least one slide contains a description (versus feature is enabled but no descriptions defined) and descreveal not explicitly disabled
SuperbSlideshowGallery.routines.adddescpanel($, setting)
if (
setting.descreveal=="always"){ //position desc panel so it's visible to begin with
setting..css({top:setting.dimensions[1]-setting.panelheight})
setting..click(function(e){ //asign click behavior to "close" icon
if (e.target.className=="close"){
slideshow.showhidedescpanel('hide')
}
})
setting..click(function(e){ //asign click behavior to "restore" icon
slideshow.showhidedescpanel('show')
$(
this).css({visibility:'hidden'})
})
}
else if (
setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
setting..bind('mouseenter', function(){slideshow.showhidedescpanel('show')})
setting..bind('mouseleave', function(){slideshow.showhidedescpanel('hide')})
}
}
setting..bind('mouseenter', function(){setting.ismouseover=true}) //pause slideshow mouseover
setting..bind('mouseleave', function(){setting.ismouseover=false})
if (.
get(0).complete){ //accounf for IE not firing image.onload
.hide()
slideshow.paginateinit($)
slideshow.showslide(setting.curimage)
}
else{ 
//initialize slideshow when first image has fully loaded
.hide()
slideshow.paginateinit($)
.
bind('load', function(){slideshow.showslide(setting.curimage)})
}
setting.oninit.call(slideshow//trigger oninit() event
$(window).bind('unload', function(){ //clean up and persist
if (slideshow.setting.persist//remember last shown image's index
SuperbSlideshowGallery.routines.setCookie("gallery-"+setting.wrapperidsetting.curimage)
jQuery.each(slideshow.setting, function(k){
if (
slideshow.setting[k] instanceof Array){
for (var 
i=0i<slideshow.setting[k].lengthi++){
if (
slideshow.setting[k][i].tagName=="DIV"//catches 2 gallerylayer divs, gallerystatus div
slideshow.setting[k][i].innerHTML=null
slideshow
.setting[k][i]=null
}
}
})
slideshow=slideshow.setting=null
})
})
}
SuperbSlideshowGallery.prototype={
navigate:function(keyword){
var 
setting=this.setting
clearTimeout
(setting.playtimer)
if (
setting.displaymode.type=="auto"){ //in auto mode
setting.displaymode.type="manual" //switch to "manual" mode when nav buttons are clicked on
setting.displaymode.wraparound=true //set wraparound option to true
}
if (!
isNaN(parseInt(keyword))){ //go to specific slide?
this.showslide(parseInt(keyword))
}
else if (/(
prev)|(next)/i.test(keyword)){ //go back or forth inside slide?
this.showslide(keyword.toLowerCase())
}
},
showslide:function(keyword){
var 
slideshow=this
var setting=slideshow.setting
if (setting.displaymode.type=="auto" && setting.ismouseover && setting.currentstep<=setting.totalsteps){ //if slideshow in autoplay mode and mouse is over it, pause it
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.displaymode.pause)
return
}
var 
totalimages=setting.imagearray.length
var imgindex=(keyword=="next")? (setting.curimage<totalimages-1setting.curimage+0)
: (
keyword=="prev")? (setting.curimage>0setting.curimage-totalimages-1)
Math.min(keywordtotalimages-1)
var =
setting..eq(setting.bglayer).find('img').hide().eq(imgindex).show() //hide all images except current one
var imgdimensions=[.width(), .height()] //center align image
.css({marginLeft: (imgdimensions[0]>&& imgdimensions[0]<setting.dimensions[0])? setting.dimensions[0]/2-imgdimensions[0]/0})
.
css({marginTop: (imgdimensions[1]>&& imgdimensions[1]<setting.dimensions[1])? setting.dimensions[1]/2-imgdimensions[1]/0})
if (
setting.descreveal=="peek-a-boo" && setting.longestdesc!=""){ //if descreveal is set to "peek-a-boo", make sure description panel is hidden before next slide is shown
clearTimeout(setting.hidedesctimer//clear hide desc panel timer
slideshow.showhidedescpanel('hide'0//and hide it immediately
}
setting..eq(setting.bglayer).css({zIndex:1000opacity:0}) //background layer becomes foreground
.stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
clearTimeout(setting.playtimer)
try{
setting.onslide.call(slideshowsetting..eq(setting.fglayer).get(0), setting.curimage)
}catch(
e){
alert("Fade In Slideshow error: An error has occured somwhere in your code attached to the "onslide" event: "+e)
}
if (
setting.descreveal=="peek-a-boo" && setting.longestdesc!=""){
slideshow.showhidedescpanel('show')
setting.hidedesctimer=setTimeout(function(){slideshow.showhidedescpanel('hide')}, setting.displaymode.pause-SuperbSlideshowGallery_descpanel.slidespeed)

setting.currentstep+=1
if (setting.displaymode.type=="auto"){
if (
setting.currentstep<=setting.totalsteps || setting.displaymode.cycles==0)
setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.displaymode.pause)
}
}) 
//end callback function
setting..eq(setting.fglayer).css({zIndex:999}) //foreground layer becomes background
setting.fglayer=setting.bglayer
setting
.bglayer=(setting.bglayer==0)? 0
setting
.curimage=imgindex
if (setting.){
setting..css({visibility:(setting.imagearray[imgindex][3])? 'visible' 'hidden'})
if (
setting.imagearray[imgindex][3]) //if this slide contains a description
setting..empty().html(setting.closebutton setting.imagearray[imgindex][3])
}
if (
setting.displaymode.type=="manual" && !setting.displaymode.wraparound){
this.paginatecontrol()
}
if (
setting.) //if status container defined
setting..html(setting.curimage+"/" totalimages)
},
showhidedescpanel:function(stateanimateduration){
var 
setting=this.setting
var endpoint=(state=="show")? setting.dimensions[1]-setting.panelheight this.setting.dimensions[1]
setting..stop().animate({top:endpoint}, (typeof animateduration!="undefined"animateduration SuperbSlideshowGallery_descpanel.slidespeed), function(){
if (
setting.descreveal=="always" && state=="hide")
setting..css({visibility:'visible'}) //show restore button
})
},
paginateinit:function($){
var 
slideshow=this
var setting=this.setting
if (setting.togglerid){ //if toggler div defined
setting.=$("#"+setting.togglerid)
setting.=setting..find('.prev').data('action''prev')
setting.=setting..find('.next').data('action''next')
setting..add(setting.).click(function(e){ //assign click behavior to prev and next controls
var =$(this)
slideshow.navigate(.data('action'))
e.preventDefault()
})
setting.=setting..find('.status')
}
},
paginatecontrol:function(){
var 
setting=this.setting
setting
..css({opacity:(setting.curimage==0)? 0.4 1}).data('action', (setting.curimage==0)? 'none' 'prev')
setting..css({opacity:(setting.curimage==setting.imagearray.length-1)? 0.4 1}).data('action', (setting.curimage==setting.imagearray.length-1)? 'none' 'next')
if (
document.documentMode==8){ //in IE8 standards mode, apply opacity to inner image of link
setting..find('img:eq(0)').css({opacity:(setting.curimage==0)? 0.4 1})
setting..find('img:eq(0)').css({opacity:(setting.curimage==setting.imagearray.length-1)? 0.4 1})
}
}
 
}
SuperbSlideshowGallery.routines={
getSlideHTML:function(imgelement){
var 
layerHTML=(imgelement[1])? '<a href="'+imgelement[1]+'" target="'+imgelement[2]+'">n' '' //hyperlink slide?
layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0;" />n'
layerHTML+=(imgelement[1])? '</a>n' ''
return layerHTML //return HTML for this layer
},
getFullHTML:function(imagearray){
var 
preloadhtml=''
for (var i=0i<imagearray.lengthi++)
preloadhtml+=this.getSlideHTML(imagearray[i])
return 
preloadhtml
},
adddescpanel:function($, setting){
setting.=$('<div class="fadeslidedescdiv"></div>')
.
css({position:'absolute'visibility:'hidden'width:'100%'left:0top:setting.dimensions[1], font:SuperbSlideshowGallery_descpanel.fontStylezIndex:'1001'})
.
appendTo(setting.)
$(
'<div class="descpanelbg"></div><div class="descpanelfg"></div>'//create inner nav panel DIVs
.css({position:'absolute'left:0top:0width:setting..width()-8padding:'4px'})
.
eq(0).css({background:'black'opacity:0.7}).end() //"descpanelbg" div
.eq(1).css({color:'white'}).html(setting.closebutton setting.longestdesc).end() //"descpanelfg" div
.appendTo(setting.)
setting.=setting..find('div.descpanelfg')
setting.panelheight=setting..outerHeight()
setting..css({height:setting.panelheight}).find('div').css({height:'100%'})
if (
setting.descreveal=="always"){ //create restore button
setting.=$('<img class="restore" title="Restore Description" src="' SuperbSlideshowGallery_descpanel.controls[1][0] +'" style="position:absolute;visibility:hidden;right:0;bottom:0;z-index:1002;width:'+SuperbSlideshowGallery_descpanel.controls[1][1]+'px;height:'+SuperbSlideshowGallery_descpanel.controls[1][2]+'px;cursor:pointer;cursor:hand" />')
.
appendTo(setting.)
 
}
},
 
getCookie:function(Name){ 
var 
re=new RegExp(Name+"=[^;]+""i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1//return its value
return null
},
setCookie:function(namevalue){
document.cookie name+"=" value ";path=/"
}

#drop down menu #plugin #slideshow or gallery #zindex
  • Profile picture of the author wcardinal
    did you try also adding the z-index to :

    #navi ul li ul li

    and did you assign a lower z-index to the slideshow li or image tags?
    {{ DiscussionBoard.errors[4206558].message }}

Trending Topics