Здравствуйте. помогите, пожалуйста. На данной странице http://gaboarchitects.com/dizajn-intererov-tsena при нажатии на блок он раскрывается полностью. Проблема в том, что при раскрытом одном блоке, если открыть другой, первый - закрывается. Как сделать так, чтобы можно было открывать два и более блока одновременно. Вот скрипт: Код: var array = new Array(); var speed = 10; var timer = 10; // Loop through all the divs in the slider parent div // // Calculate seach content divs height and set it to a variable // function slider(target,showfirst) { var slider = document.getElementById(target); var divs = slider.getElementsByTagName('div'); var divslength = divs.length; for(i = 0; i < divslength; i++) { var div = divs[i]; var divid = div.id; if(divid.indexOf("headerr") != -1) { div.onclick = new Function("processClick(this)"); } else if(divid.indexOf("content") != -1) { var section = divid.replace('-content',''); array.push(section); div.maxh = div.offsetHeight; if(showfirst == 1 && i == 1) { div.style.display = 'block'; } else { div.style.display = 'none'; } } } } // Process the click - expand the selected content and collapse the others // function processClick(div) { var catlength = array.length; for(i = 0; i < catlength; i++) { var section = array[i]; var head = document.getElementById(section + '-headerr'); var cont = section + '-content'; var contdiv = document.getElementById(cont); clearInterval(contdiv.timer); if(head == div && contdiv.style.display == 'none') { contdiv.style.height = '100px'; contdiv.style.display = 'block'; initSlide(cont,1); } else if(contdiv.style.display == 'block') { initSlide(cont,-1); } } } // Setup the variables and call the slide function // function initSlide(id,dir) { var cont = document.getElementById(id); var maxh = cont.maxh; cont.direction = dir; cont.timer = setInterval("slide('" + id + "')", timer); } // Collapse or expand the div by incrementally changing the divs height and opacity // function slide(id) { var cont = document.getElementById(id); var maxh = cont.maxh; var currheight = cont.offsetHeight; var dist; if(cont.direction == 1) { dist = (Math.round((maxh - currheight) / speed)); } else { dist = (Math.round(currheight / speed)); } if(dist <= 1) { dist = 1; } cont.style.height = currheight + (dist * cont.direction) + 'px'; cont.style.opacity = currheight / cont.maxh; cont.style.filter = 'alpha(opacity=' + (currheight * 100 / cont.maxh) + ')'; if(currheight < 2 && cont.direction != 1) { cont.style.display = 'none'; clearInterval(cont.timer); } else if(currheight > (maxh - 2) && cont.direction == 1) { clearInterval(cont.timer); } }
На вскидку: нужно убрать Код: else if(contdiv.style.display == 'block') { initSlide(cont,-1); } в функции processClick(div)
Теперь при нажатии блок не закрывается назад. Забыла уточнить, нужно, чтобы блоки закрывались обратно.