jscalendar-1.0 日期选择框显示问题

做网页甘特图的时候,由于任务进度要选择时间,用到了jscalendar-1.0这个日期控件,但是显示有问题,日期选择框不是放在最外层,鼠标一点击,选择框就消失了,导致无法选择日期,让我一度以为是自己代码问题,如下所示:

IE9浏览器下,如下图所示


谷歌浏览器下,如下图所示


结果导致无法选择日期,解决方法就是改下Calendar.prototype.create这个方法中的代码,在这个方法中,增加一句:div.style.zIndex = 10000;

就是下段代码中的第27行

代码如下

Calendar.prototype.create = function (_par) {
	var parent = null;
	if (! _par) {
		// default parent is the document body, in which case we create
		// a popup calendar.
		parent = document.getElementsByTagName("body")[0];
		this.isPopup = true;
	} else {
		parent = _par;
		this.isPopup = false;
	}
	this.date = this.dateStr ? new Date(this.dateStr) : new Date();

	var table = Calendar.createElement("table");
	this.table = table;
	table.cellSpacing = 0;
	table.cellPadding = 0;
	table.calendar = this;
	Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown);

	var div = Calendar.createElement("div");
	this.element = div;
	div.className = "calendar";
	if (this.isPopup) {
		div.style.position = "absolute";
		div.style.display = "none";
		div.style.zIndex = 10000;
	}
	div.appendChild(table);

第27行代码为新增加的,增加这一行代码就能够让日期选择框正常显示,如下图所示


上网查了下

zIndex 属性设置元素的堆叠顺序。

该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远。

语法:

Object.style.zIndex=auto|number


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值