用于切换订阅框jquery的切换类

时间:2014-02-12 17:12:02

标签: jquery

我正在尝试为订阅框制作一个切换div。我造型它所以它在底部是齐平的,并且有一个负余量来隐藏除了顶部之外的所有。我想要做的是用onclick事件切换父div的类,我不确定我遇到的问题,我确实有一些错误,我认为我已经设法解决但我很明显失踪因为它不起作用的东西。我不确定到底是什么原因。这是代码:

JS:

var subscribe = document.getElementById('subscribe');
subscribe.style.cursor = 'pointer';
subscribe.onclick (function raise(){
  if (subscribe.hasClass('subscription') === true) {
    subscribe.toggleClass('raised', 800);
  } else {
   subscribe.toggleClass('subscription', 800);
  };
});

HTML:

<div class="subscription" id="subscribe" onclick="raise()">
 <div class="sub-tab">
   + keep in touch
   </div>
   <div class="sub-body">
     Subscribe to our newsletter to get our latest offers and news.
   </div>
</div>

CSS:

.subscription {
  height: 400px;
  width: 350px;
  position: fixed;
  bottom: 0;
  margin-bottom: -365px;
}
.raise {
  height: 400px;
  width: 350px;
  position: fixed;
  bottom: 0;
}

我应该补充一点,我收到的错误是未定义的,但不是定义它的function raise()部分?

1 个答案:

答案 0 :(得分:1)

您通过javascript以及内联分配subscribe.onclick ... {onklick函数中定义了raise方法,因此在html的范围内不可见

取出onclick="raise()"

并将事件更改为:

subscribe.on('click', function(){

因为您使用的是jQuery,所以不需要getElementById

$('#subscribe')

此外,=== true是多余的:

if (subscribe.hasClass('subscription')) {

就足够了