我正在尝试为订阅框制作一个切换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()
部分?
答案 0 :(得分:1)
您通过javascript以及内联分配subscribe.onclick
... {onklick函数中定义了raise
方法,因此在html的范围内不可见
取出onclick="raise()"
并将事件更改为:
subscribe.on('click', function(){
因为您使用的是jQuery,所以不需要getElementById
:
$('#subscribe')
此外,=== true
是多余的:
if (subscribe.hasClass('subscription')) {
就足够了