如何在完整日历中制作固定标题

时间:2016-07-20 10:30:31

标签: javascript jquery html css fullcalendar

如何在完整日历中制作固定标题。

请看小提琴,太阳,星期一,星期二,星期三,星期四,星期五,星期六是我的标题。 我希望这个星期天的星期六标题必须修复。如果我垂直滚动,标题不应该隐藏。

https://docs.mulesoft.com/mule-user-guide/v/3.5/mule-high-availability-ha-clusters

$(document).ready(function() {

    var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();

    var events_array = [
        {
        title: 'Test1',
        start: new Date(2012, 8, 20),
        tip: 'Personal tip 1'},
    {
        title: 'Test2',
        start: new Date(2012, 8, 21),
        tip: 'Personal tip 2'}
    ];

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        selectable: true,
        events: events_array,
        eventRender: function(event, element) {
            element.attr('title', event.tip);
        }
    });
});

$(document).on('hover', '.fc-day-number', function(){
  $('#cal-info').addClass('hide');
	var data = $(this).html();
  var offset = $(this).offset();
  $('#cal-info').css('left', offset.left);
  $('#cal-info').css('top', (offset.top - 40));
  $('#cal-info').html('information about: '+$(this).html()+'<br>Link to google: <a href="http://google.com" target="_blank">Google</a>');
	//p.html( "left: " + offset.left + ", top: " + offset.top );
  $('#cal-info').removeClass('hide');
});
.tag{
  background-color:#000;
  color:#fff;
  padding:3px;
  max-height:60px;
  overflow: visible;  
  position: fixed;
  z-index:999;
}
.tag:after {
  content: "";
  border-top: 16px solid red;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  position: absolute;
  bottom: -16px;
  left: calc(50% - 8px);
}
<link href="http://arshaw.com/js/fullcalendar-1.5.3/fullcalendar/fullcalendar.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://arshaw.com/js/fullcalendar-1.5.3/fullcalendar/fullcalendar.min.js"></script>
<div style="border:solid 2px red;">
        <div id='calendar'></div>
</div>
<div class="tag hide" id="cal-info">

</div>

5 个答案:

答案 0 :(得分:2)

我认为你正在寻找这个 -

jsfiddle

您需要在标题上添加一个类

 .fc-border-separate thead.sticky{
    width: 100%;
    position: fixed;
    top:0px;
    left:0px;
    display:table;
    background: #fff;
}

使用jquery

在窗口滚动上添加和删除
$(window).scroll(function() {
    if ($(this).scrollTop() > 1){  
        $('.fc-border-separate thead').addClass("sticky");
    }
    else{
        $('.fc-border-separate thead').removeClass("sticky");
    }
});

我希望它能帮到你。

答案 1 :(得分:0)

将此添加到您的风格中。

.calendar {
  position:relative;
}

.fc-header {
  position:fixed;
}

.fc-content {
  padding-top:50px;
}

答案 2 :(得分:0)

请参阅此处: jsfiddle

代码:

var headerHeight = $(".fc-header").height()


$(window).scroll(function(){
   if($(window).scrollTop() > headerHeight){
      $("thead").addClass("fixed")

   }else{
      $("thead").removeClass("fixed")
   }
});    

CSS:

thead.fixed { position:fixed;width:100%;top:0;display:table;}

添加了一个JQ,您可以在其中计算.fc-header的高度,因此,只有在您滚过该高度后,thead才会固定。

thead成为fixed我在JQ中添加了一个类fixed,然后在CSS中添加了该类

让我知道是否有帮助

编辑:有趣的downvote。 HMM的

答案 3 :(得分:0)

这里是更新小提琴。 最后检查更新的CSS。

http://jsfiddle.net/v98sb2a0/3/

.fc-border-separate thead tr
{
position: fixed;
margin-bottom: 20px;
width: 100%;
}
.fc-border-separate thead tr th
{
  width:80px;
}
.fc-border-separate th.fc-last, .fc-border-separate td.fc-last
{
  border-right-width: 0px;
}

答案 4 :(得分:0)

.fc-widget-header {
  position: sticky;
  z-index: 100;
  top: 0; 
  background-color: white;
}