2011-02-14 67 views
0

我正在嘗試使用JavaScript製作一個樹形視圖。我有一個動態創建的Div的列表。正在顯示的父節點和不會顯示的子節點。當你點擊父節點上的按鈕時,它會調用show('slow')。這適用於IE8和IE9,但是當我用IE7測試它時,子節點將顯示出它的CSS類。我怎樣才能使這項工作與IE7?顯示使用jQuery show()在IE7中不工作隱藏的div元素

代碼在主頁

function CreateEventCategoryDiv(EventCategoryName) { 
      var NewEventCategoryNode = document.createElement('div'); 
      NewEventCategoryNode.id = EventCategoryName + "Node"; 
      if (TreeNodeCounter == 0 || (TreeNodeCounter % 2) == 0) { 
       NewEventCategoryNode.className = "EventCategoryNodesEven"; 
      } 
      else { 
       NewEventCategoryNode.className = "EventCategoryNodesOdd"; 
      } 
      NewEventCategoryNode.innerHTML = "<input type='button' value='+' id='ExpandButton' class='ExpandNodeButtons' onclick='ExpandNode(\"" + EventCategoryName + "\");' />&nbsp;" + EventCategoryName; 
      var EventTree = document.getElementById("EventTree"); 
      EventTree.appendChild(NewEventCategoryNode); 
      TreeNodeCounter++; 
     } 

    function ExpandNode(PassedNode) { 
       var ParentNode = CalendarObject.SearchCategoryNode(PassedNode); 
       if (ParentNode.IsChildrenShowing == false) { 
        ParentNode.ExpandNodes(CalendarObject.Months); 
       } 
       else if (ParentNode.IsChildrenShowing == true) { 
        ParentNode.CollapseNode(CalendarObject.Months); 
       } 
      } 

這部分被稱爲在EventCategory類添加子節點(對不起,我忘了這一個在第一個)

this.AddEventType = function (EventTypeNode) { 
     var NewElement = document.createElement('Div'); 
     NewElement.id = EventTypeNode.DivAssociateId; 
     NewElement.innerText = EventTypeNode.Name; 
     if (this.NodesCount == 0 || (this.NodesCount % 2) == 0) { 
      NewElement.setAttribute("class", "EventTypeNodesEven"); 
     } 
     else { 
      NewElement.setAttribute("class", "EventTypeNodesOdd"); 
     } 
     NodesCount = this.EventTypeNodesArray.push(EventTypeNode); 
     $(NewElement).hide(); 
     var ParentElement = document.getElementById("EventTree"); 
     ParentElement.appendChild(NewElement); 
     this.NodesCount++; 
    }; 

這部分是在CalendarGrid類

this.ExpandNodes = function (MonthArray) { 
     for (var x in this.EventTypeNodesArray) { 
      var SelectedNode = document.getElementById(this.EventTypeNodesArray[x].DivAssociateId); 
      if (this.IsChildrenShowing == false) { 
       $(SelectedNode).show('slow'); 
       for (var y = 0; y < MonthArray.length; y++) { 
        var SelectedRow = document.getElementById(this.EventTypeNodesArray[x].Name + MonthArray[y].MonthName + "Row"); 
        $(SelectedRow).show('slow'); 
       } 
      } 
     } 
     this.IsChildrenShowing = true; 
    }; 

CSS代碼:

.EventTypeNodesOdd 
{ 
    font-family:Arial; 
    font-weight:bold; 
    text-align:center; 
    height:27px; 
    background-color:#dbe2e6; 
    display:block; 
} 

.EventTypeNodesEven 
{ 
    font-family:Arial; 
    font-weight:bold; 
    text-align:center; 
    height:27px; 
    background-color:#f9fafb; 
} 
+0

請張貼一些代碼。 – 2011-02-14 16:30:04

+1

我認爲這可能是你的CSS的問題,但沒有辦法告訴沒有CSS,HTML和JavaScript代碼 – 2011-02-14 16:35:09

回答

1

嘗試將類設置爲顯示它之後的任何內容。