首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在所有div的点击上动态地应用幻灯片切换效果

在所有div的点击上动态地应用幻灯片切换效果
EN

Stack Overflow用户
提问于 2015-05-27 12:42:44
回答 3查看 1.7K关注 0票数 10

当单击特定的li元素时,我希望能够打开它各自的div元素。

我有以下代码:

代码语言:javascript
复制
<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>

当我添加这个脚本时,它工作得很好:

代码语言:javascript
复制
<script>
    jQuery(document).ready(function ($) {
        jQuery(".pro-2").click(function () {
            jQuery(".panel-2").slideToggle("slow");
        });
    });
</script>

不过,我想让它充满活力。我不想为每个创建一个类和div类,而是创建一个可以切换所有li元素的函数。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-27 13:15:12

解决这一问题的办法如下:

代码语言:javascript
复制
<script> 
       jQuery(document).ready(function($){
            jQuery("ul.pro-list a.pro").click(function(e){
               e.preventDefault();
                jQuery(this).next('div').slideToggle("slow");
           });

</script>

如果preventDefault() e是事件,并且阻止您链接锚,这意味着它不会重定向到'a链接‘,如果它不重定向到链接,我们的切换效果工作。

票数 1
EN

Stack Overflow用户

发布于 2015-05-27 12:44:10

应该使用公共类绑定事件,然后使用遍历方法标识要处理的元素。

您可以使用已经添加到anchor中的pro类和添加到div中的proc-description类。

使用

代码语言:javascript
复制
jQuery(document).ready(function($){
    jQuery("a.pro").click(function(){
       jQuery(this).next(".proc-description").slideToggle("slow");
   return false; 
  });            
});

代码语言:javascript
复制
jQuery(document).ready(function($){
    jQuery("a.pro").click(function(){
       jQuery(this).next(".proc-description").slideToggle("slow");
      
   });            
});
代码语言:javascript
复制
.proc-description {display:none}
代码语言:javascript
复制
<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>

票数 8
EN

Stack Overflow用户

发布于 2015-12-17 10:25:33

另一种方法,如果你想要的话:-

代码语言:javascript
复制
<ul class="no-padding pro-list">
<li><a href="javascript:void(0)" class="pro-1 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)"class="pro-2 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="pro-3 pro" onclick="$(this).parent().find('.proc-description').toggle();">C</a>
    <div class="proc-description panel-3">
        <p>a</p>
        <p>b</p>
        <p>c</p>
    </div>
</li>
<li><a href="javascript:void(0)" class="pro-4 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="pro-5 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="pro-6 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="pro-7 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="pro-8 pro" onclick="$(this).parent().find('.proc-description').toggle();">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="javascript:void(0)" class="proc-9 " onclick="$(this).parent().find('.proc-description').toggle();">I</a></li>
<li><a href="javascript:void(0)" class="proc-10 " onclick="$(this).parent().find('.proc-description').toggle();">J</a></li>
<li><a href="javascript:void(0)" class="proc-11 " onclick="$(this).parent().find('.proc-description').toggle();">K</a></li>
代码语言:javascript
复制
<style>
.proc-description{
    display: none;
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30482804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档