2010-05-22 4 views
0

Я не знаю, с чего начать. У меня есть <div>, который не появляется, пока не будет нажата кнопка. Вызов этой функции работает: onclick="highlight('mod_sup_div', true);"Событие не срабатывает

function highlight(aDiv,show) { 
    if (show) { 
     Effect.Appear('Overlay',{duration: 0.5, to: .80}); 
     Effect.Appear(aDiv,{duration: 0.5}) 
     } 
    else { 
     Effect.Fade('Overlay',{duration: 0.5, to: .80}); 
     Effect.Fade(aDiv,{duration: 0.5}) 
     } 
    } 

В <div> У меня есть кнопка, чтобы закрыть окно.
<p class="closer"><span onclick="highlight('mod_sup_div',false)">X</span></p> не работа. Функция даже не вызывается, так как я сделал предупреждение(), первая строка функции в ней ничего не делает.

Что не так, то, что onclick="Effect.Fade(aDiv,{duration: 0.5})" делает работа. Другие простые функции javascript в работе onclick = "", за исключением вызова функции.

Любая помощь относительно того, почему это происходит, будет очень признательна.

Спасибо, Дейв

+0

В каком браузере вы тестируете? –

+0

Ни Safari, ни Firefox не работают. –

ответ

0

Это отлично работает в Firefox

<HTML> 
<HEAD> 
    <TITLE> New Document </TITLE> 
    <SCRIPT type="text/javascript"> 

    function highlight(aDiv,show) 
    { 
     if (show) { 
       /*Effect.Appear('Overlay',{duration: 0.5, to: .80}); 
       Effect.Appear(aDiv,{duration: 0.5}) */ 
       alert("Show"); 
     } 
     else { 
       /*Effect.Fade('Overlay',{duration: 0.5, to: .80}); 
       Effect.Fade(aDiv,{duration: 0.5}) */ 
       alert("hide");   
     } 
    } 
    </SCRIPT> 
</HEAD> 
<BODY> 
    <p class="closer"><span onclick="highlight('mod_sup_div',false)">X</span></p> 
</BODY> 
</HTML> 
+0

Чтобы быть понятным, вся функция highlight() работает. Я сделал это, вызвав 'highlight ('mod_sup_div', true);' немедленно следует 'setTimeout ('highlight (\' mod_sup_div \ ', false)', 5000); ' Через 5 секунд после того, как Div представляет себя, он исчезает. Проблема в том, что я хочу вызвать функцию fade изнутри mod_sup_div. Если я создаю подсветку 'onclick = '(' mod_sup_div ', false)' 'для любого элемента, это событие не вызывает функцию или любую другую функцию. Это действительно больше проблема запуска событий, чем что-либо. Спасибо за помощь. --Dave –

+0

Dave, Что я имел в виду, было onclick = "highlight ('mod_sup_div', false) работает для рассматриваемого диапазона в моем тесте. Несомненно, событие запускает функцию. Однако похоже, что может быть некоторая ошибка, которая препятствует продолжению функции. Вы пробовали тест после включения FireBug? Посмотрите, что вы получаете! Я уверен, что вы получите ошибку javascript. – Kunal

0

К сожалению это было в то время как многие другие вещи, чтобы переписать/исправить.

Похоже, что выделение - это либо ключевое слово, либо что-то внутреннее для Prototype или Scriptaculous. Изменение имени функции решило все. Что странно, так это то, что у меня есть функция с именем goto(), и она отлично работает!

Я заметил, что если я отправлю неправильную информацию Prototype.js, это просто не получится без объяснения причин. Спасибо за помощь.