Hmm, it just dawned on me that listnav fires a click internally when it initiates, so this won't work quite like I wrote it out below. Instead of using:

   var isShowing = false;

use:

   var clicks = 0;

and:

  onClick: function(){
     clicks++;
     if(clicks == 2){
        $('#yourUL').show();
     }
  }

(not tested .. let me know if you hit a deadend)

- Jack

Jack Killpatrick wrote:

Hi, I'm assuming the little treasure is the plugin? ;-) Thanks, glad you like it.

There's nothing built into the plugin that will hide the full list (it's wired to show the first available letter unless you specify a letter to show), but here's a workaround that might do the trick for you:

1. set the css for your UL to:

   display:none;

2. add a function to the listnav onClick option that will show the UL if it's not showing already, something like:

var isShowing = false;

$('#yourUL').listnav({
   onClick: function(){
      if(!isShowing){
         $('#yourUL').show();
         isShowing = true;
      }
   }
});

That onClick will fire on every letter click, but that's minimal overhead since you'd be just checking the value of isShowing after the first click is handled (which makes your UL show up).

- Jack

rubycat wrote:
Thank you for this little treasure!

Is there a way to do it so that when listnav initially appears on the
page, no items are shown? In other words, is there a way to just have
the alphabetized index show with no initial display of anything else?






Reply via email to