Javascript .toggleClass不工作,不知道为什么
我试图让一个div框在单击时展开,并在再次单击时恢复到正常大小。看起来很简单,但不管我怎么做,我都无法让它工作。我不知道会出什么问题,因为代码中最有可能发生错误的部分并不长。谢谢你的时间Javascript .toggleClass不工作,不知道为什么,javascript,jquery,html,css,hover,Javascript,Jquery,Html,Css,Hover,我试图让一个div框在单击时展开,并在再次单击时恢复到正常大小。看起来很简单,但不管我怎么做,我都无法让它工作。我不知道会出什么问题,因为代码中最有可能发生错误的部分并不长。谢谢你的时间 您需要将javascript代码包装在DocumentReady函数中 $(document).ready(function() { $('#panel1').on('click', function() { $(this).toggleClass('clicked'); }); }) 您需
您需要将javascript代码包装在DocumentReady函数中
$(document).ready(function() {
$('#panel1').on('click', function() {
$(this).toggleClass('clicked');
});
})
您需要将javascript代码包装在DocumentReady函数中
$(document).ready(function() {
$('#panel1').on('click', function() {
$(this).toggleClass('clicked');
});
})
尺寸没有改变,因为宽度和高度值缺少
px
。开关本身工作正常
更新的小提琴:尺寸没有改变,因为您的宽度和高度值缺少
px
。开关本身工作正常
更新的小提琴:您缺少
px
更改:
#panel1.clicked{
width:460;
height:290;
}
致:
最终代码:
.小组{
位置:相对位置;
边框:2件纯银;
转型:转型1.5s;
}
.面板:悬停{
变换:歪斜(3deg);
}
#面板1.单击{
宽度:460px;
高度:290px;
}
DIV
$(文档).ready(函数(){
$('#panel1')。在('click',function(){
$(this.toggleClass('clicked');
})
})
您缺少px
更改:
#panel1.clicked{
width:460;
height:290;
}
致:
最终代码:
.小组{
位置:相对位置;
边框:2件纯银;
转型:转型1.5s;
}
.面板:悬停{
变换:歪斜(3deg);
}
#面板1.单击{
宽度:460px;
高度:290px;
}
DIV
$(文档).ready(函数(){
$('#panel1')。在('click',function(){
$(this.toggleClass('clicked');
})
})
您可以尝试addClass和removeClass
$('#panel1').click(function() {
if ($('#panel1').hasClass('clicked'))
$('#panel1').removeClass('clicked');
else
$('#panel1').addClass('clicked');
});
您可以尝试addClass和removeClass
$('#panel1').click(function() {
if ($('#panel1').hasClass('clicked'))
$('#panel1').removeClass('clicked');
else
$('#panel1').addClass('clicked');
});
它正在工作,你想从中得到什么?如果你检查小提琴中的元素,“clicked”类正在切换……javascript工作正常,你的CSS语法有问题,所以它什么都没做。更改<代码>宽度:460代码>至
宽度:460px
另外,$(document).ready(main)
没有做任何事情,因为main
未定义。我将对其进行更好的编辑和措辞,我的意思是,它没有像我在描述中所说的那样扩展,投票结束,因为此问题是由无法再复制的问题或简单的印刷错误引起的。虽然这里可能有类似的问题,但这一问题的解决方式不太可能帮助未来的读者。它正在工作,你想从中得到什么?如果你检查小提琴中的元素,“clicked”类正在切换……javascript工作正常,CSS语法有错,所以它什么都没做。更改<代码>宽度:460代码>至宽度:460px
另外,$(document).ready(main)
没有做任何事情,因为main
未定义。我将对其进行更好的编辑和措辞,我的意思是,它没有像我在描述中所说的那样扩展,投票结束,因为此问题是由无法再复制的问题或简单的印刷错误引起的。虽然类似的问题可能在这里讨论,但这一问题的解决方式不太可能帮助未来的读者。当然,但这不是问题所在<编码>宽度:460;身高:290当数字没有单位时,代码>是没有意义的。(他忘了说尺寸是px)当然,但这不是问题所在<编码>宽度:460;身高:290当数字没有单位时,代码>是没有意义的。(他忘了说尺寸是用px表示的)
$('#panel1').click(function() {
if ($('#panel1').hasClass('clicked'))
$('#panel1').removeClass('clicked');
else
$('#panel1').addClass('clicked');
});