我有一个有5个标签的手风琴 我试图显示活动页面中的文本。 访问页面时,默认活动状态会显示我的代码 但点击它不会触发更改。
<script>
$('h2 a.active').change(setDisplayText).on('click', function(e) {
$('.sub_heading').html($(this).text());
e.preventDefault();
});
</script>
h2处于OL LI范围内
答案 0 :(得分:0)
更新解决方案:
我已经得到.h2
来显示活动标题(使用控制台将js注入到您的页面中)。您需要做的是使用函数定义onSlideAnimComplete
选项。
替换以下行:
$('#three').liteAccordion({ theme : 'dark', rounded : true, enumerateSlides : false, firstSlide : 5, linkable : true, easing: 'easeInOutQuart' });
with :(我整理了一下间距)
$('#three').liteAccordion({
theme : 'dark',
rounded : true,
enumerateSlides : false,
firstSlide : 5,
linkable : true,
easing: 'easeInOutQuart',
onSlideAnimComplete: function() {
//Changes .h2 upon animation complete
$('.h2').html($('h2.selected span').html());
}
});
然后删除这些行:
<script>
$('h2 a.active').change(setDisplayText).on('click', function(e) {
$('.sub_heading').html($(this).text());
e.preventDefault();
});
</script>
应该获得您正在寻找的功能(删除最后一部分只是为了删除冗余和控制台中显示的错误数量。)
您会注意到.h2
不会立即更改。我尝试先使用onTriggerSlide
选项更改文本,但h2.selected
在动画完成之前不会转移到新标题,因此会显示上一个h2.active
的文本。如果您想为.h2
设置动画以定制它的转换,您可以在fadeOut
上onTriggerSlide
(或任何您想要的动画),然后在onAnimSlideComplete
中设置动画。 This page打破了liteAccordion的所有选项/方法。
让我知道这是否适合您,如果您需要更多的帮助:)
我不确切地知道你要做什么,所以你必须弄清楚是否要使用ui.newHeader,ui.oldHeader,ui.newPanel或ui.oldPanel然后你想要的与他们合作,但这里有一些东西让你开始:
$('.acc').accordion({
activate: function(e,ui) {
console.log(ui.newTab.html());
});
});