Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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
许多链接具有相同的jquery动画,如何更好地组织它们?_Jquery_Html_Slidetoggle - Fatal编程技术网

许多链接具有相同的jquery动画,如何更好地组织它们?

许多链接具有相同的jquery动画,如何更好地组织它们?,jquery,html,slidetoggle,Jquery,Html,Slidetoggle,我有一个关于jQuery的问题——我正在研究大系统的菜单模拟,所以其他人可以用它来决定如何更好地组织它——可用性和用户体验 菜单是多层次的,每个部分都必须是可拖动的——所以(我想)保持所有部分在同一页上是很重要的。 但事实上这不是我想问的。我有子菜单,所以它通过单击菜单链接使用slideToggle()类打开 <script> $( "#terms" ).click(function() { $( "#1" ).slideToggle( "slow" ); }); $

我有一个关于jQuery的问题——我正在研究大系统的菜单模拟,所以其他人可以用它来决定如何更好地组织它——可用性和用户体验

菜单是多层次的,每个部分都必须是可拖动的——所以(我想)保持所有部分在同一页上是很重要的。 但事实上这不是我想问的。我有子菜单,所以它通过单击菜单链接使用slideToggle()类打开

<script>
  $( "#terms" ).click(function() {
   $( "#1" ).slideToggle( "slow" );
  });
 $( "#tc" ).click(function() {
   $( "#tc-2" ).slideToggle( "slow" );
  });
</script>

$(“#术语”)。单击(函数(){
$(“#1”)。滑动切换(“慢速”);
});
$(“#tc”)。单击(函数(){
$(“#tc-2”)。滑动切换(“慢速”);
});
我有很多这样的链接,所以我不想为每个链接都编写代码,我想创建类似

<script>
  $( "a" ).click(function() {
   $( "#href" ).slideToggle( "slow" );
  });
</script>

$(“a”)。单击(函数(){
$(“#href”).slideToggle(“慢”);
});
因此,通过单击链接,它只会打开此div,该div与link href具有相同的id


对不起,我的问题很蹩脚,我真的不知道如何解释谷歌我想要什么。

一种方法是使用HTML5数据属性..将toggle元素的引用id添加到其中。。。将同一类添加到所有元素并使用

 $( ".elementClass" ).click(function() {
    $('#'+ $(this).data('reference')).slideToggle( "slow" );
 });
示例HTML

<div id="terms" class="elementClass" data-reference="1"></div>
<div id="1"></div>
<div id="tc" class="elementClass" data-reference="tc-2"></div>
<div id="tc-2"></div>


注意:最好避免将数值作为ID。使用字符串。

在浏览器不支持html5的情况下,数据引用不起作用

     $( ".elementClass" ).click(function() {
        $('#'+ $(this).attr('id')+'-div').slideToggle( "slow" );
     });

example HTML

    <div id="terms-1" class="elementClass"></div>
    <div id="terms-1-div"></div>
    <div id="tc-2" class="elementClass"></div>
    <div id="tc-2-div"></div>
$(“.elementClass”)。单击(函数(){
$('#'+$(this.attr('id')+'-div').slideToggle(“slow”);
});
示例HTML

数据引用在浏览器不支持HTML5的情况下不起作用,因为它是测试系统-我认为支持所有浏览器在这里并不重要。但它在一些实际项目中可能有用。因此,感谢您的解决方案:)