javascript - 单击而不是悬停时的 Jquery

标签 javascript jquery

我有这个 jQuery 代码可以在悬停时打开 Accordion ,但我需要让它在每个选项卡上工作,而不是单击,我试图将“悬停”更改为“单击”但没有成功,这里有人可以帮忙吗我 ?

提前致谢。

$(function() {
    $('#accordion > li').hover(function() {
        var $this = $(this);
        $this.stop().animate({'width':'480px'},500);
        $('.heading',$this).stop(true,true).fadeOut();
        $('.bgDescription',$this).stop(true,true).slideDown(500);
        $('.description',$this).stop(true,true).fadeIn();
    }, function() {
        var $this = $(this);
        $this.stop().animate({'width':'115px'},1000);
        $('.heading',$this).stop(true,true).fadeIn();
        $('.description',$this).stop(true,true).fadeOut(500);
        $('.bgDescription',$this).stop(true,true).slideUp(700);
    });
});

Tushar Gupta 的想法是唯一部分可行的想法,它会在点击时打开 Accordion ,但如果用户在一个打开的时候点击另一个选项卡,就会出现错误...

我弄乱了整个代码。

http://jsfiddle.net/C8Kp8/ <-- Tushar Gupta 的解决方案

http://jsfiddle.net/SHmuc/ <-- 原始代码

谢谢大家的帮助,非常感谢。

最佳答案

您可以使用 .toggle()或者这个

    $(function() {
    $('#accordion > li').click(function() {
        var $this = $(this);

        if ($this.hasClass('open')) {
            $this.stop().animate({'width':'480px'},500);
            $('.heading',$this).stop(true,true).fadeOut();
            $('.bgDescription',$this).stop(true,true).slideDown(500);
            $('.description',$this).stop(true,true).fadeIn();
            $this.removeClass('open');
        }
        else {
            $this.stop().animate({'width':'115px'},1000);
            $('.heading',$this).stop(true,true).fadeIn();
            $('.description',$this).stop(true,true).fadeOut(500);
            $('.bgDescription',$this).stop(true,true).slideUp(700);
            $this.addClass('open');
        }
    });
});

关于javascript - 单击而不是悬停时的 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20094607/

相关文章:

javascript - 仅当外部内容更改时刷新 div

javascript - 使用 javascript 查找并替换唯一的 html (href) 字符串

php - 如何在 codeigniter 中获取当前日期

javascript - 尝试在组件之间传递数据时变得不确定

javascript - 如何在 AngularJS 的父 Controller 或作用域中访问 FormController

javascript - 手机输入法="tel"时,如何改变回车键的作用?

javascript - offsetTop 与 jQuery.offset().top

javascript - 使用Redux(Redux-Saga)的错误信息提示

javascript - jquery Accordion 菜单默认在加载时关闭

javascript - 无法使用 jQuery 访问页面表单和 iframe 表单