Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 ui jQueryUI手风琴-标题文本和幻灯片_Jquery Ui_Jquery Ui Accordion - Fatal编程技术网

Jquery ui jQueryUI手风琴-标题文本和幻灯片

Jquery ui jQueryUI手风琴-标题文本和幻灯片,jquery-ui,jquery-ui-accordion,Jquery Ui,Jquery Ui Accordion,我第一次玩jQueryUI手风琴,我试着做一个简单的扩展div,它在扩展时切换标题文本并滑动到内容的底部 我有一个默认的h3标题,上面写着“More”,我希望它在div展开时变为“Less”,在div关闭时变为“More”。此外,扩展时,标题应向下滑动并保持在内容下方 我已经找了两天了,运气不好 @Irvin Dominin aka Edward更改文本 $(function() { $( "#accordion" ).accordion({ header: 'h3',

我第一次玩jQueryUI手风琴,我试着做一个简单的扩展div,它在扩展时切换标题文本并滑动到内容的底部

我有一个默认的h3标题,上面写着“More”,我希望它在div展开时变为“Less”,在div关闭时变为“More”。此外,扩展时,标题应向下滑动并保持在内容下方

我已经找了两天了,运气不好

@Irvin Dominin aka Edward更改文本

$(function() {
  $( "#accordion" ).accordion({ 
    header: 'h3', 
    collapsible: true, 
    active: false, 
    activate: function (event, ui) {
    ui.newHeader.find(".accordion-header").text("Less")
    ui.oldHeader.find(".accordion-header").text("More")
  }
});
通过@vitaliy zadorozhnyy滑动标题

var headers = $('#accordion h3');
headers.click(function () {
    var panel = $(this).prev();
    var isOpen = panel.is(':visible');

    $(this).text(!isOpen ? 'Less' : 'More');

    panel[isOpen ? 'slideUp' : 'slideDown']();
    return false;
});
现在的问题是这两者不能一起使用。知道如何混合它们吗?

您可以使用事件切换手风琴标题文本:

激活面板后触发(动画后 完成)。如果手风琴先前已折叠,则ui.oldHeader 和ui.oldPanel将是空的jQuery对象。如果手风琴是 折叠时,ui.newHeader和ui.newPanel将是空的jQuery对象

代码:


演示:

如果您对一个项目使用手风琴,并希望在它处于活动状态时滑动它,请使用选项

在您的例子中,
$('#accordion')。accordion({collapsable:true})
但如果你想滑下标题,你可以使用另一种方法。我给你做了一些样品。

希望能有所帮助。

谢谢,这正是我想要的!我自己添加了DOM元素上的类,但没有附加jQueryUI主题,我已经更新了jquery主题,如果你需要,当我将h3移到内容下面时,div完全停止扩展。不知道我错过了什么-_-
$('#accordion').accordion({
    activate: function (event, ui) {
        ui.newHeader.find(".accordion-header").text("Less")
        ui.oldHeader.find(".accordion-header").text("More")
    }
});