我有一个可以通过ajax加载内容的时间轴,或者你可以直接将内容添加到元素中。
加载ajax时;触发事件。
/* trigger */
var event = jQuery.Event( 'ajaxLoaded.timeline' );
event.element = $newThis.find('.item_open_content');
$( "body" ).trigger( event );
$this.trigger(event);
当我初始化时间线时;时间线'监听'事件并在必要时生成滚动条
$('.tl1').on('ajaxLoaded.timeline', function(e){
var height = e.element.height()-60-e.element.find('h2').height();
e.element.find('.timeline_open_content span').css('max-height', height).mCustomScrollbar({
autoHideScrollbar:true,
theme:"light-thin"
});
});
在此示例中,第一个时间轴:http://karlienfabre.be/bas-cms/timeline-test/
现在我使用bolt cms构建时间轴,因此我只是将内容直接放在元素(第二个时间轴)中而不是ajaxload。所以我触发一个事件:
var event = jQuery.Event( 'sItemOpen.timeline' );
event.element = $newThis.find('.item_open_content');
$( "body" ).trigger( event );
$this.trigger(event);
我让时间轴听取它。
$('.tl2').on('sItemOpen.timeline', function(e){
console.log(e.element.find('.timeline_open_content span'));
var height = e.element.height()-60-e.element.find('h2').height();
e.element.find('.timeline_open_content span').css('max-height', height).mCustomScrollbar({
autoHideScrollbar:true,
theme:"light-thin"
});
});
但那不起作用......如果我在那里尝试console.log,我的事件无法进入最后一段代码。
时间表js:http://bas-cms.dev/timeline-test/js/jquery.timeline.js
有人知道我做错了吗?
THX!
答案 0 :(得分:0)
如果需要,你只需要显示mCustomScrollbar,你应该解决这个问题只用于css。您可以设置元素max-height属性。如果您的内容高度大于最大高度属性,则会自动显示。
如果你的问题是jQuery创建事件和监听?你使用下面的代码。
你设置任何变量..
uint32_t