Javascript jQuery slideToggle-再次单击时隐藏/其他按钮
我正在创建需要一些特定功能的切换按钮: 1) 在第一次单击时显示内容(此操作有效) 2) 单击其他按钮时隐藏内容(此操作有效) 3) 第二次单击时隐藏内容(这不起作用) 现在,如果您两次单击同一按钮,它将首先向上滑动(因为如果确实单击了其他按钮,则需要关闭以前的内容)。一旦它向上,然后滑下,使它非常紧张 有没有办法让这三个功能都正常工作?? 删除“$”(“.schodliment”).slideUp();”行可以修复这个跳跃问题,但这也会使函数2停止工作Javascript jQuery slideToggle-再次单击时隐藏/其他按钮,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在创建需要一些特定功能的切换按钮: 1) 在第一次单击时显示内容(此操作有效) 2) 单击其他按钮时隐藏内容(此操作有效) 3) 第二次单击时隐藏内容(这不起作用) 现在,如果您两次单击同一按钮,它将首先向上滑动(因为如果确实单击了其他按钮,则需要关闭以前的内容)。一旦它向上,然后滑下,使它非常紧张 有没有办法让这三个功能都正常工作?? 删除“$”(“.schodliment”).slideUp();”行可以修复这个跳跃问题,但这也会使函数2停止工作 功能组合(e){ var分类id=e.
功能组合(e){
var分类id=e.id+“_js”;
if($(“#”+schooldimentId).display=“block”){
$(“.schooldiment”).slideUp();
$(“#”+组合ID).slideToggle();
}else if($(“#”+schomkimentId.display=“无”){
$(“#”+组合ID).slideToggle();
}
}
。分类{
显示:无;
}
.btn{
边框:1px纯黑;
边界半径:10px;
填充:10px;
宽度:100px;
保证金:5px;
背景颜色:浅蓝色;
}
.btn:悬停{
光标:指针
}
第一节
第二节
第三节
部分内容1
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
部分内容2
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
部分内容3
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
您缺少.stop()
方法,该方法停止匹配元素上当前正在运行的动画,或者换句话说,防止重复:
功能组合(e){
var分类id=e.id+“_js”;
if($(“#”+schooldimentId).display=“block”){
$(“.schooldiment”).stop().slideUp();
$(“#”+组合ID).stop().slideToggle();
}else if($(“#”+schomkimentId.display=“无”){
$(“#”+组合ID).stop().slideToggle();
}
}
*{边距:0;框大小:边框框}/*添加;更“流利”*/
.什锦{
显示:无;
}
.btn{
边框:1px纯黑;
边界半径:10px;
填充:10px;
宽度:100px;
保证金:5px;
背景颜色:浅蓝色;
}
.btn:悬停{
光标:指针
}
第一节
第二节
第三节
部分内容1
部分内容2
部分内容3
试试这个
function assortiment(e){
var assortimentid = e.id + "__js";
if ($("#" + assortimentid).display == "block"){
$(".assortiment").hide();
$("#" + assortimentid).slideToggle();
} else if ($("#" + assortimentid).display == "none"){
$("#" + assortimentid).slideToggle();
}
将JS函数定义更新为:
function assortiment(e){
var assortimentid = e.id + "__js";
$(".assortiment").not("#" + assortimentid).slideUp();
$("#" + assortimentid).slideToggle();
}
完整片段:和
功能组合(e){
var分类id=e.id+“_js”;
$(“.schooldiment”).not(“#”+schooldimentId).slideUp();
$(“#”+组合ID).slideToggle();
}
。分类{
显示:无;
}
.btn{
边框:1px纯黑;
边界半径:10px;
填充:10px;
宽度:100px;
保证金:5px;
背景颜色:浅蓝色;
}
.btn:悬停{
光标:指针
}
第一节
第二节
第三节
部分内容1
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
部分内容2
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
部分内容3
Lorem ipsum Door sit amet,aliquip apeirian异议人士前职业律师。面部表情不自然,等等。如果你是一个伟大的领袖,那么你就应该重新审视自己。Cu有virtute pericula definitionem,Cu facete conclusion emque有,Cu errem acusamus duo。
我们尽量避免内联javascript。为编写一个单独的函数。btn
单击以切换显示…使用slideToggle()
jQuery切换相同的元素…使用slideUp()
和not()
隐藏其他元素
还可以使用==
在条件中进行比较,=
用于分配值
另外,element.display=“none”
不是有效的语句,它应该类似于element.css(“display”)=“none”
$(“.btn”)。在(“单击”,函数(){
var item=“#”+$(this.attr(“id”)+“uu js”
$(“.schooldiment”).not(item).stop().slideUp();
$(项).stop().slideToggle();
})
。分类{
显示:无;
}
.btn{
边框:1px纯黑;
边界半径:10px;
填充:10px;
宽度:100px;
保证金:5px;
背景颜色:浅蓝色;
}
.btn:悬停{
光标:指针
}
p{
保证金:0;
}
第一节
第二节
第三节
部分内容1
部分内容2
部分内容3
当您切换打开时,我会添加一个toggledOpen
类,这样您就可以调用$(“.toggledOpen”).slideUp()代码>当你需要关闭任何已经打开的东西时。你有一个=
在你的状态下