单击特定li元素时 - 我希望能够打开它的相应div元素.
我有以下代码:
<ul class="no-padding pro-list">
<li><a href="#" class="pro-1 pro">A</a>
<div class="proc-description panel-1">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-2 pro">B</a>
<div class="proc-description panel-2">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-3 pro">C</a>
<div class="proc-description panel-3">
<p>a</p>
<p>b</p>
<p>c</p>
</div>
</li>
<li><a href="#" class="pro-4 pro">D</a>
<div class="proc-description panel-4">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-5 pro">E</a>
<div class="proc-description panel-5">
Hello world! Lorem ipsum doner inut.
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-6 pro">F</a>
<div class="proc-description panel-6">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-7 pro">G</a>
<div class="proc-description panel-7">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="pro-8 pro">H</a>
<div class="proc-description panel-8">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>
Lorem ipsum doner inut.
Lorem ipsum doner inut.
</p>
</div>
</li>
<li><a href="#" class="proc-9 ">I</a></li>
<li><a href="#" class="proc-10 ">J</a></li>
<li><a href="#" class="proc-11 ">K</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
添加此脚本时,它工作正常:
<script>
jQuery(document).ready(function ($) {
jQuery(".pro-2").click(function () {
jQuery(".panel-2").slideToggle("slow");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是我想让它充满活力.我想创建一个可以切换所有元素的函数,而不是为每个类和div类创建这么多函数li.
您应该将事件与公共类绑定,然后使用遍历方法来标识要处理的元素.
您可以使用已添加的pro类添加到div anchor并proc-description添加到div.
使用
jQuery(document).ready(function($){
jQuery("a.pro").click(function(){
jQuery(this).next(".proc-description").slideToggle("slow");
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
jQuery(document).ready(function($){
jQuery("a.pro").click(function(){
jQuery(this).next(".proc-description").slideToggle("slow");
});
});Run Code Online (Sandbox Code Playgroud)
.proc-description {display:none}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="no-padding pro-list">
<li><a href="#" class="pro-1 pro">A</a>
<div class="proc-description panel-1">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-2 pro">B</a>
<div class="proc-description panel-2">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-3 pro">C</a>
<div class="proc-description panel-3">
<p>a</p>
<p>b</p>
<p>c</p>
</div>
</li>
<li><a href="#" class="pro-4 pro">D</a>
<div class="proc-description panel-4">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-5 pro">E</a>
<div class="proc-description panel-5">Hello world! Lorem ipsum doner inut.
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-6 pro">F</a>
<div class="proc-description panel-6">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-7 pro">G</a>
<div class="proc-description panel-7">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="pro-8 pro">H</a>
<div class="proc-description panel-8">
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut.</p>
<p>Lorem ipsum doner inut. Lorem ipsum doner inut.</p>
</div>
</li>
<li><a href="#" class="proc-9 ">I</a>
</li>
<li><a href="#" class="proc-10 ">J</a>
</li>
<li><a href="#" class="proc-11 ">K</a>
</li>
</ul>Run Code Online (Sandbox Code Playgroud)
这个问题的解决方案在这里:
<script>
jQuery(document).ready(function($){
jQuery("ul.pro-list a.pro").click(function(e){
e.preventDefault();
jQuery(this).next('div').slideToggle("slow");
});
</script>
Run Code Online (Sandbox Code Playgroud)
其中e 是 event,并且PreventDefault()会阻止您访问锚链接,这意味着它不会重定向到“a 链接”,如果它不重定向到链接,我们的切换效果就会起作用。