2013-05-18 13 views
0

У меня есть несколько заголовков, которые при нажатии меня хотели бы, чтобы они расширяли/меняли цвет и т. Д. Я обмениваюсь любым способом изменения div на клик одной из заголовков, чтобы какой бы ни был один щелчок изменит его свойства. Одна из проблем заключается в том, что это должен быть один экземпляр ... Когда вы нажимаете на другой заголовок после щелчка по одному ранее, тот, который был нажат перед рукой, нужно будет вернуть обратно.Изменить div id при нажатии

Так что ... если «текущий» является тот, который они только что нажали:

<script> 
Function ClickedHeadline() { 
    document.GetElementByID('current').style.width="auto" 
    document.GetElementByID('current').style.BackgroundColor="#999" 
} 
</script> 

Может быть, это может запустить сценарий, прежде чем выше один, чтобы сказать DIV, который имеет идентификатор «текущий», изменится, а затем запустит вышеуказанный скрипт ...

Не думаю, что я объяснил это очень хорошо, но надеюсь, что вы сможете получить то, что я пытаюсь сделать. Это просто спасает меня от создания функции каждый раз, когда я делаю еще один заголовок вместе со всеми идентификаторами, после этого он будет очень запутанным.

+2

JavaScript является *** чувствительным к регистру *** языком. Проверьте имена используемых методов. – VisioN

+4

Жизнь будет намного легче для вас, если вы измените класс, а не стиль, и оставьте внешний вид внешним файлам css. –

ответ

0

Javascript чувствителен к регистру, замените этот

function ClickedHeadline() { 
    document.getElementById('current').style.width="auto"; 
    document.getElementById('current').style.backgroundColor="#999"; 
    } 

(я советую использования всегда точка с запятой)

+1

В моем коде я _do_ всегда использую точки с запятой, но в точках с запятой JS часто (но не всегда) необязательно. Конечно, те, которые вы добавили, на самом деле не нужны, этот код будет работать без них. – nnnnnn

+0

@nnnnnn Это новое: o, thx для комментария – Sam

+1

Прохладный. +1 на измененном ответе. – nnnnnn

3

Я согласен с чувствительными к регистру и просто думаю, что лучше добавить Objet, который вы хотите, чтобы изменить следующим образом:

function ClickedHeadline(o) { 
    o.style.width="auto"; 
    o.style.backgroundColor="#999"; 
    } 

И в HTML вы просто добавить

onClick="ClickedHeadline(this);" 

Я думаю, что лучше, вы можете повторно использовать функцию сейчас :).

+0

+1 для дополнительной функции с повторным удалением кода. – nnnnnn

Смежные вопросы