【发布时间】:2014-08-11 08:46:49
【问题描述】:
在我的 Rails 视图模板中,我使用一些 jQuery 来实现选项卡式面板功能:
<section>
... content ommitted
</section>
<script>
$(document).ready(function () {
$('.accordion-tabs-minimal').each(function(index) {
$(this).children('li').first().children('a').addClass('is-active').next().addClass('is-open').show();
});
$('.accordion-tabs-minimal').on('click', 'li > a', function(event) {
if (!$(this).hasClass('is-active')) {
event.preventDefault();
var accordionTabs = $(this).closest('.accordion-tabs-minimal')
accordionTabs.find('.is-open').removeClass('is-open').hide();
$(this).next().toggleClass('is-open').toggle();
accordionTabs.find('.is-active').removeClass('is-active');
$(this).addClass('is-active');
} else {
event.preventDefault();
}
});
});
</script>
因为我也在其他 View 模板中使用了这个脚本,并且我想更好地组织我的 Javascript,所以我在 app/assets/javascripts 下创建了一个 Javascript 文件 (tabbed_panels.js) 并将上面的脚本移动到tabbed_panels.js 文件。
但是现在我页面上的面板在第一次加载页面时没有内容。只有当页面刷新时,面板才会加载内容。
是否有人知道发生了什么以及如何解决这个问题,所以我的选项卡式面板在第一页加载时就有内容?
感谢您的帮助,
安东尼
【问题讨论】:
标签: javascript jquery ruby-on-rails asset-pipeline