Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery slideToggle-再次单击时隐藏/其他按钮_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery slideToggle-再次单击时隐藏/其他按钮

Javascript jQuery slideToggle-再次单击时隐藏/其他按钮,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在创建需要一些特定功能的切换按钮: 1) 在第一次单击时显示内容(此操作有效) 2) 单击其他按钮时隐藏内容(此操作有效) 3) 第二次单击时隐藏内容(这不起作用) 现在,如果您两次单击同一按钮,它将首先向上滑动(因为如果确实单击了其他按钮,则需要关闭以前的内容)。一旦它向上,然后滑下,使它非常紧张 有没有办法让这三个功能都正常工作?? 删除“$”(“.schodliment”).slideUp();”行可以修复这个跳跃问题,但这也会使函数2停止工作 功能组合(e){ var分类id=e.

我正在创建需要一些特定功能的切换按钮:

1) 在第一次单击时显示内容(此操作有效)

2) 单击其他按钮时隐藏内容(此操作有效)

3) 第二次单击时隐藏内容(这不起作用)

现在,如果您两次单击同一按钮,它将首先向上滑动(因为如果确实单击了其他按钮,则需要关闭以前的内容)。一旦它向上,然后滑下,使它非常紧张

有没有办法让这三个功能都正常工作?? 删除“$”(“.schodliment”).slideUp();”行可以修复这个跳跃问题,但这也会使函数2停止工作

功能组合(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()当你需要关闭任何已经打开的东西时。你有一个
=
在你的状态下