2012-02-11 71 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)应该是if(onOff == false)。它的比较运算符 – 2012-02-11 16:03:57

+0

如果你已经解决了你的问题,请把它作为下面的答案发布,然后接受你自己的答案。 – Sparky 2012-02-12 03:42:57

回答

2

你的条件,当然页面加载不正确if (onOff=false)。它应该是if (onOff==false)

希望这对你有用。

+0

是的,这是一个主要问题。谢谢。 – 2012-02-11 16:27:16

+0

@Splatty,太棒了。如果这个答案解决了你的问题,请接受它作为你的答案。请阅读[常见问题](http://stackoverflow.com/faq#howtoask) – 2012-02-12 06:40:53

0

正如其他用户已经提到的那样,您必须将您的条件更正为if(onOff == false) 也是您可能希望防止执行点击时的默认事件处理程序。将您的代码更改为

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

这将防止不必要的页面滚动。

+0

感谢您的提示 – 2012-02-11 16:27:59