Казалось бы, правильный способ вызвать функцию Javascript по ссылке, не работает - PullRequest
0 голосов
/ 01 января 2012

Хорошо, так что я читал и читал и готов о том, как запустить какой-нибудь простой код Javascript при нажатии на ссылку, но, несмотря ни на что, я не могу заставить его работать!

Идея состоит в том, что когда моя ссылка нажата, она изменит цвет и заполнит переменную, затем при повторном щелчке она изменит свой цвет на другой и вернет переменную обратно в то состояние, в котором она находилась (эффективно сбрасывая первую клик)

Может кто-нибудь сказать мне, где я иду не так?

Вот мой код Javascript:

window.onload = function() {

document.getElementById("atonal").onclick = function() {

    var categoryLink=new Array(); 
    var counter;
    categoryLink[0] = "empty";   
    categoryLink[1] = "empty";   
    categoryLink[3] = "empty";   
    counter = "0";

    if (categoryLink[0]=="empty") {
        categoryLink[0] = "atonal";
        counter = counter + 1;
        stylesheet.insertRule("#atonal {color: #FFFFFF}", 0);
    }

    if (categoryLink[0]=="atonal") {
        categoryLink[0] = "empty";
        counter = counter - 1;
        stylesheet.insertRule("#atonal {color: #474747}", 0);
    }

   return false;  
  }
}

И мой HTML:

<a href="#" id="atonal">antonal sound</a>

Ответы [ 2 ]

1 голос
/ 01 января 2012

Комментарии о window.location = "http://www.google.com/"; верны.

Но также у вас есть синтаксическая ошибка в ваших последних 2 IF выражениях:

if (categoryLink[0}=="empty") {

Должно быть:

if (categoryLink[0]=="empty") {

http://jsfiddle.net/Ekxbu/

1 голос
/ 01 января 2012

В этом коде есть две идентичные синтаксические ошибки; FireBug или его эквивалент показал бы это вам:

if (categoryLink[0}=="empty") {

То, что } должно быть ], конечно. Исправьте это, и ваш код будет работать - или, по крайней мере, ваш onclick будет зарегистрирован и вызван, когда вы ожидаете.

...