views:

74

answers:

1

I've got an unordered list that is sort of a nested javascript helpbox. You click on the help topics, and a scrollable div appears with the help items. Those help items are the unordered list.

Everything is working great in FF, Safari, IE6 (well-I am getting a horizontal scrollbar there in IE6 for some reason) and IE8. But in IE7, it is giving me one word per line and making the scrollbar verrrry loooong in order to compensate. I searched, but haven't seen yet what I'm looking for. Nothing looks obvious to me in the Developer tools in IE, but the issue is replicated there when I switch it to IE7 mode.

Thanks for any help! Joel

Edit: some code...

The helpbox:

<div class="helpbox">
     <h2 class="title2a adjust"><a class="nodecoration" href="javascript:animatedcollapse.toggle('collapse1')">Quick Start</a></h2>
     <div id="collapse1" class="helpbox2">

              <ul id="helpbo">
                  <li class="helpchange"><a href="#">Add Items</a></li>
                  <li class="helpchange"><a href="#">Create Timeline</a></li>
                  <li class="helpchange"><a href="#">Set Reminder</a></li>
                  <li class="helpchange"><a href="#">Detailed Help Topics</a></li>
              </ul>
              <hr class="ninetypercent"></hr>

              <div class="instructions helpitems" id="animators">
                <div class="container"><ul>
                <li>Make sure the <b>Monthly</b> tab is highlighted on the top right of the screen.</li>
                <li>Click on the day that you want to add an event.</li>
                <li>You can create a main event-which you can apply a timeline to, or you can create a simple to-do item.</li>
                <li>Fill in the details.  If you are creating a main event, you can add a timeline.  If you don't know how to do that, read the <b>Create Timeline</b> help link above.</li>
                <li>Click <b>Save</b> when you're done.</li>
                <li>Your event or to-do will now show up in your calendar.</li>

                  </ul></div>

                  <div class="container"><ul>
                  <li>Click on the <b>Admin</b> tab on the top right of the screen.</li>
                  <li>In the main display, next to <b>Manage</b> click <b>Add Timeline</b></li>
                  <li>A new blank timeline template will appear.</li>
                  <li>Give a descriptive title of your timeline. You can always go back and edit things later if you need to.</li>
                  <li>The first column, <b>Days From Event</b>, is the number of days before or after the main event that you want the to-do item to happen.  It must be a number-negative numbers for the days before the event and positive number for days after the event.</li>
                  <li>Fill in the <b>Days From Event</b>, the <b>Title</b> and <b>Description</b> of each to-do item you want to create.</li>
                  <li>Click <b>Add More To-Do Items</b> to add another item.  Add as many items as you need.</li>
                  <li>If you have added <b>Team Members</b>, you can assign tasks to members in the <b>assigned to</b> column.</li>
                  <li>When you have finished your new timeline, click <b>Save Timeline</b>.</li>
                  <li>Your new timeline is now ready to be applied to your main events</li>
                  </ul></div>

                  <div class="container"><ul>
                  <li>You can set a reminder for a main event or a to-do item.</li>
                  <li>Make sure the <b>Monthly</b> tab is selected on the top right of the screen.</li>
                  <li>First, <b>Create or Select</b> the event that you want to set a reminder for.</li>
                  <li>If you have selected an existing event, click <b>Edit Event</b>.</li>
                  <li><b>Click</b> the <b>Checkbox</b> next to the word <b>Reminder</b>. </li>
                  <li>Set the date and time you'd like your reminder, and you'll get an email reminder then.</li>

                  </ul></div>

                  <div class="container"><ul>
                                    <li>For more detailed help on specific features, please click on the <b>Help</b> tab at the top right of the screen.</li>
                                    <li>There, you will find several <b>Tutorial Videos</b> That can walk you through more of the complex features.</li>

                  </ul></div>


              </div>
            <div class="closebutton">
                 <a href="javascript:animatedcollapse.toggle('collapse1')">close</a>
            </div>


      </div>
</div>

I'm using jQuery, and the animated.collapse libraries.

js code is:

<script type="text/javascript">
//<![CDATA[
  document.documentElement.className += " js"; // Add js class to the HTML element
  $(function(){
    var $containers = $("#animators > div").hide();

    $('ul#helpbo li a').each(function(i,el){
      var idx = i;
      $(this).click(function(e){
        var $target = $containers.filter(':eq(' + idx + ')');
        // Fade out visible div
        if($containers.filter(':visible').not($target).length){
          $containers.filter(':visible').fadeOut(500, function(){
            $target.not(':visible').fadeIn(500);
          });
        } else {
          $target.not(':visible').fadeIn(500);
        }

        e.preventDefault();
      })
    })
  });


$(".helpchange").click(function() {
  $(".changinghelp").removeClass("changinghelp");
  $(this).addClass("changinghelp");
});

//]]>
A: 

Another stupid noob problem. I didn't have a declared width for those inner lis. It worked fine on the other browsers because it just inherited, but not in IE7

Joel