Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно чтобы первый блок был открыт (https://javascript.ru/forum/misc/49092-nuzhno-chtoby-pervyjj-blok-byl-otkryt.html)

mcsignal 29.07.2014 02:24

Нужно чтобы первый блок был открыт
 
Всем привет!
Прошу помощи в решении этой задачки


Есть скрипт -
<script type="text/javascript">
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("header") != -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 + '-header');
 var cont = section + '-content';
 var contdiv = document.getElementById(cont);
 clearInterval(contdiv.timer);
 if(head == div && contdiv.style.display == 'none') {
 contdiv.style.height = '0px';
 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);
 }
}
</script>


и сам HTML

<body onload="slider('slider',0)">
<p>
<div id="slider">
<table width="100%" border="0">
  <tr>
    <td align="center" bgcolor="#f7ebd5"><div class="header" id="1-header"><img alt="" src="ceni/0-4est.jpg" /></div></td>
    <td align="center" bgcolor="#f7ebd5"><div class="header" id="2-header"><img alt="" src="ceni/5-8est.jpg" /></div></td>
    <td align="center" bgcolor="#f7ebd5"><div class="header" id="4-header"><img alt="" src="ceni/9-12est.jpg" /></div></td>
  </tr>
</table>

<p>&nbsp;</p>
<table width="100%" border="0">
  <tr>
    <td> 
     <div class="content" id="1-content">
 <div class="text">
 <table width="100%" border="0">
  <tr>
    <td>&nbsp;</td>
    <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img src="EST1.png" width="750" height="120" alt=""/></a></td>
    <td>&nbsp;</td>
  </tr>
</table>

   <table width="100%" border="0">
     <tr>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/1.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/2.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/3.jpg" /></a></td>
     </tr>
   </table>
 </div>
 </div>
     <div class="content" id="2-content">
 <div class="text">
  <table width="100%" border="0">
  <tr>
    <td>&nbsp;</td>
    <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img src="EST2.png" width="750" height="120" alt=""/></a></td>
    <td>&nbsp;</td>
  </tr>
</table>
 <table width="100%" border="0">
     <tr>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/4.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/5.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/6.jpg" /></a></td>
     </tr>
   </table>
 </div>
 </div>
 <div class="content" id="4-content">
 <div class="text">
  <table width="100%" border="0">
  <tr>
    <td>&nbsp;</td>
    <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img src="EST3.png" width="750" height="120" alt=""/></a></td>
    <td>&nbsp;</td>
  </tr>
</table>
 <table width="100%" border="0">
     <tr>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/7.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/8.jpg" /></a></td>
       <td align="center" bgcolor="#f7ebd5"><a href="?page_id=361"><img alt="" src="ceni/9.jpg" /></a></td>
     </tr>
   </table>
 </div>
 </div></td>
  </tr>
</table>

</div>


нужно чтобы первый блок при загрузки страницы был открыт... что-то не выходит ни как сделать... уже 4 день мучаюсь перепробовал кучу скриптов но ни как не выходит сделать как надо.

рони 29.07.2014 04:17

mcsignal,
:cray:
<body onload="slider('slider',0);document.getElementById('1-header').onclick()  ">

mcsignal 29.07.2014 08:57

Ох... спасибо вам большое! Вроде что-то подобное делал а оно не работало :write:

Еще раз спасибо!!!

Lecseus 21.01.2016 06:46

подскажите пожалуйста по этому же коду как сделать так, чтобы при раскрытии одного блока по этому javascript коду скрывались остальные, не просто сворачивались, а пропадали. но чтобы при сворачивании этого блока они появлялись обратно?

рони 21.01.2016 10:01

Цитата:

Сообщение от Lecseus
а пропадали

строка 74 убрать currheight < 2 &&


Часовой пояс GMT +3, время: 21:43.