1. Куча / Говнокод #2547

    +137.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    <div id="spoiler">
    <div>
    <p style="text-align: center;"><input style="margin: 10px; padding: 0px; width: 150px; font-size: 12px; background-color: #fdeaa8;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = ''; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = 'none'; this.innerText = ''; this.value = 'Спрятать спойлер'; } else { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = 'none'; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = ''; this.innerText = ''; this.value = 'Еще раз показать?'; }" type="button" value="УП Элайя" /></p>
    
    <div>
    <div id="show" style="border-style: solid; border-width: 1px; margin: 0px; padding: 4px; display: none; background-color: transparent; width: 98%;">
    
    <span style="font-size: small;"><span style="color: #000000;">УП «Элайя» всегда готово к любому сотрудничеству и радует своих клиентов превосходным качеством и приемлемой ценой на женскую одежду. Для УП «Элайя» крайне важно поддерживать высокое качество производимой продукции. Предприятие использует только новейшее высокотехнологичное швейное оборудование производства Италии и Японии. </span></span>
    
    </div>
    <div id="spoiler">
    <div>
    <p style="text-align: center;"><input style="margin: 10px; padding: 0px; width: 150px; font-size: 12px; background-color: #fdeaa8;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = ''; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = 'none'; this.innerText = ''; this.value = 'Спрятать спойлер'; } else { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = 'none'; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = ''; this.innerText = ''; this.value = 'Еще раз показать?'; }" type="button" value="УП АссольМода" /></p>
    
    <div id="show" style="border-style: solid; border-width: 1px; margin: 0px; padding: 4px; display: none; background-color: transparent; width: 98%;">
    
    <span style="color: #000000;"><span style="font-size: small;">Компания "АссольМода" существует на рынке c 2003 года, и все это время уверенно и динамично развивается, расширяет круг постоянных клиентов, увеличиваем ассортимент выпускаемой продукции. </span></span>

    Доброго времени! Ребята, я в этом деле полный нуб. Ситуация тут следующая:
    Как видите здесь 2 спойлера. В Firefox'e пашут оба, в IE 8 не пашет верхняя, а в Google Chrome не пашет нижняя... Я заметил разницу в наличии у верхней одного тега <div> перед вот этими строками:
    <div id="show" style="border-style: solid; border-width: 1px; margin: 0px; padding: 4px; display: none; background-color: transparent; width: 98%;">
    И отсутствие этого тега у нижних таких же строк второй кнопки. Если я добавляю этот тег к нижней, то на странице наступает хаос, сайдбар, футер и шапка сразу разъезжаются, если убираю этот же тег из верхней опять-таки хаос. Не знаю че делать. Помогите пожалуйста найти ошибку. Спасибо.

    Запостил: civko, 05 Февраля 2010

    Комментарии (6) RSS

    • Для таких вопросов есть, например, stackoverflow.com
      Ответить
    • id="" должны быть уникальными.
      Ответить
      • Я переименовал id="spoiler1" и соответсвенно id="spoiler2", но безрезультатно. ('div')['show'] соответственно тоже.
        Ответить
    • Эх, как говорил наш преподаватель по Мат. Анализу: "Принеси записку от родителей, что тебя выпороли."
      <script>
      	window["myfunc"] =  function(element)
      	{
      		var list = element.parentNode.parentNode.getElementsByTagName('div');
      		for (var i =0; i< list.length; i++)
      		{
      			var item = list[i];
      			if (item.className == 'showBlock') //можно поменять на indexof или split и поиск по массиву
      			{
      				if (item.style.display != '') 
      				{ 
      					item.style.display = ''; 
      					element.innerText = ''; element.value = 'Спрятать спойлер'; 
      				} 
      					else 
      				{ 
      					item.style.display = 'none'; 
      					element.innerText = ''; 
      					element.value = 'Еще раз показать?'; 
      				}
      			}
      		}
      	}
      </script>
      <div id="spoiler1">
      	<div>
      		<p style="text-align: center;">
      			<input style="margin: 10px; padding: 0px; width: 150px; font-size: 12px; background-color: #fdeaa8;" 
      				onclick="myfunc(this)" type="button" value="УП Элайя" />
      		</p>
      
      		<div class="showBlock" style="border-style: solid; border-width: 1px; margin: 0px; padding: 4px; display: none; background-color: transparent; width: 98%;">
      			<span style="font-size: small;">
      				<span style="color: #000000;">УП «Элайя» всегда готово к любому сотрудничеству и радует своих клиентов превосходным качеством и приемлемой ценой на женскую одежду. Для УП «Элайя» крайне важно поддерживать высокое качество производимой продукции. Предприятие использует только новейшее высокотехнологичное швейное оборудование производства Италии и Японии. 
      				</span>
      			</span>
      		</div>
      	</div>
      
      </div>
      Ответить
    • <div id="spoiler2">
      	<div>
      		<p style="text-align: center;">
      			<input style="margin: 10px; padding: 0px; width: 150px; font-size: 12px; background-color: #fdeaa8;" 
      				onclick="myfunc(this)" type="button" value="УП АссольМода" />
      		</p>
      		<div class="showBlock" style="border-style: solid; border-width: 1px; margin: 0px; padding: 4px; display: none; background-color: transparent; width: 98%;">
      			<span style="color: #000000;">
      				<span style="font-size: small;">Компания "АссольМода" существует на рынке c 2003 года, и все это время уверенно и динамично развивается, расширяет круг постоянных клиентов, увеличиваем ассортимент выпускаемой продукции. 
      				</span>
      			</span>
      		</div>
      	</div>
      </div>
      Ответить
    • Для начала стиль в классы, скрипт в функции, а потом уже можно будет что-то разглядеть.
      Например, что на один закрывающй тег у вас десять открывающих.
      Ответить

    Добавить комментарий