2012-02-11 8 views
1

HTMLJavascript всплывающее окно и закрыть

<ul> 
    <li class="first"><a href="#">Intro</a></li> 
    <li><a href="#">Crew</a></li> 
</ul> 

CSS

.page-popup { 
    z-index:500; 
    position:absolute; 
    left:345px; 
    background:#fff; 
    width:680px; 
    height:325px; 
    top:175px; 
    display:none; 
} 

JavaScript:

$('.first').click(function() { 
    var onOff=false; 

    if (onOff=false) { 
     $('.page-popup').fadeIn('slow', function() { 
      // Animation complete 
     }); 
     onOff = true; 
    } else { 
     $('.page-popup').fadeOut('slow', function() { 

     }); 
     onOff = false; 
    } 
}); 

Я пытаюсь создать открытый Закрыть всплывающее окно эффекта. Когда они нажимают на ссылку, всплывающее окно исчезает, когда я снова нажимаю ссылку, всплывающее окно исчезает.

* ОБНОВЛЕНО. Я выяснил, как заставить его работать. Я должен поместить провозглашают:

var onOff=false; 

на странице загрузки не тогда, когда OnClick она выполняется в противном случае она всегда сбрасывает его ....... и конечно же, используя == для сравнения :)

+0

одна ошибка if (onOff = false) должна быть, если (onOff = false). Оператор сравнения –

+0

Если вы решили проблему, отправьте ее ниже, а затем примите свой ответ. – Sparky

ответ

2

Ваше состояние неверно if (onOff=false). Это должно быть if (onOff==false)

Надеюсь, это сработает для вас.

+0

Да, это была одна из серьезных проблем. Благодарю. –

+0

@Splatty, отлично. Если этот ответ решит вашу проблему, пожалуйста, примите это как ваш ответ. Пожалуйста, прочитайте [FAQ] (http://stackoverflow.com/faq#howtoask) –

0

Как уже упоминалось ранее, вы должны исправить свое состояние, если (onOff == false) также вы можете запретить обработчик события по умолчанию при нажатии кнопки. Измените свой код на

$('.first').click(function(event) { 
    event.preventdefault(); 
    //rest of the code 
} 

Это предотвратит ненужную прокрутку страницы.

+0

Спасибо за отзыв –

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