2012-07-30 91 views
0
function globalModelToggleClicked(modname) 
{ 
var state = this.checked ? true : false; 
var display = this.checked ? 'inline-block' : 'none'; 
var inputs = document.getElementsByTagName('input'); 
var input_l = inputs.length; 

// check uncheck inputs checkboxes 
while(input_l--) 
{ 
    var input = inputs[input_l]; 
    if(input.getAttribute('class') == modname) 
    { 
    input.checked = state; 
    } 
} 

// show/ hide all colorings 
var main = document.getElementById('main'); 
var divs = main.getElementsByTagName('div'); 
var divs_l = divs.length; 
var regex = new RegExp(modname); 

while(divs_l--) 
{ 
    var div = divs[divs_l]; 
    if(regex.test(div.getAttribute('class')) 
    && (/hit/.test(div.getAttribute('class')) 
     || /seqBorder/.test(div.getAttribute('class')) 
     ) 
    ) 
    { 
    div.style.display = display; 
    } 
} 
} 




function localModelToggleClicked(modname) 
{ 

    var display = this.checked ? 'inline-block' : 'none'; 
    // get parent fieldset 
    var fieldset = this.parentNode; 
    while(fieldset.nodeName != 'FIELDSET') 
    { 
    fieldset = fieldset.parentNode; 
    } 

    // show/ hide all colorings 
    var divs = fieldset.getElementsByTagName('div'); 
    var divs_l = divs.length; 
    var regex = new RegExp(modname); 


    while(divs_l--) 
    { 
    var div = divs[divs_l]; 
    if(regex.test(div.getAttribute('class')) 
    && (/hit/.test(div.getAttribute('class')) 
     || /seqBorder/.test(div.getAttribute('class')) 
     ) 
    ) 
    { 
     div.style.display = display; 
    } 
} 
} 

上述兩個函數切換div的可見性。除了IE瀏覽器(8)之外,它們在所有瀏覽器中都能正常工作,而且我不知道哪裏出了問題。我試過調試器,它什麼也沒有顯示。這些函數在其他函數的外部腳本上運行。當我在函數內部提醒時,一切似乎都是按順序的。任何人都可以幫助 ?Javascript在Internet Explorer中切換

+1

Javascript庫是否存在這個問題?這可以用jQuery的幾行代碼來編寫,而且你不太可能遇到瀏覽器不兼容問題。 – 2012-07-30 13:04:42

+0

我在jquery中做了這個工作,這是一個類似的問題,所以我用JavaScript編碼,它似乎解決了這個問題,但不是,Internet Explorer不喜歡這個代碼:( – user1338194 2012-07-30 13:07:42

+0

)你能解釋一下這些函數是如何工作的嗎?打算用嗎?一個jsFiddle演示也會很酷。 – 2012-07-30 13:25:57

回答

0

問題出在getAttribute('class')顯然IE不接受這個。所以我用className來代替。在所有瀏覽器中都能完美運行。

相關問題