js如何改变控件的显示位置
用了个JS的日历控件,但是控件的显示位置总是在左上角,没办法跟随在输入框的下方,请问是代码出了什么问题吗?可不可以修改其显示位置?如何修改?部分代码如下:varx,y,i...
用了个JS的日历控件,但是控件的显示位置总是在左上角,没办法跟随在输入框的下方,请问是代码出了什么问题吗?可不可以修改其显示位置?如何修改?部分代码如下:
var x,y,intLoop,intWeeks,intDays;
var DivContent;
var year,month,day;
var o=eval("document.all."+InputBox);
var thisyear; //真正的今年年份
thisyear=new getToday();
thisyear=thisyear.year;
today = o.value;
if(isDate(today))
today = new getStringDay(today);
else
today = new getToday();
//显示的位置
x=o.offsetLeft;
y=o.offsetTop;
while(o=o.offsetParent)
{
x+=o.offsetLeft;
y+=o.offsetTop;
}
document.all.Calendar.style.left=x+2;
document.all.Calendar.style.top=y+20;
document.all.Calendar.style.visibility="visible"; 展开
var x,y,intLoop,intWeeks,intDays;
var DivContent;
var year,month,day;
var o=eval("document.all."+InputBox);
var thisyear; //真正的今年年份
thisyear=new getToday();
thisyear=thisyear.year;
today = o.value;
if(isDate(today))
today = new getStringDay(today);
else
today = new getToday();
//显示的位置
x=o.offsetLeft;
y=o.offsetTop;
while(o=o.offsetParent)
{
x+=o.offsetLeft;
y+=o.offsetTop;
}
document.all.Calendar.style.left=x+2;
document.all.Calendar.style.top=y+20;
document.all.Calendar.style.visibility="visible"; 展开
3个回答
展开全部
1、使用js改变控件的style
var elem=document.getElementById("控件id");//获取控件
elem.style.position = "absolute";//设置绝对定位(或者相对定位)
elem.style.left = "50px";//设置left数值
elem.style.top = "100px";//设置top数值
2、使用js改变元素的class
写好的style
.newPosition{position:absolute;top:50px;left:100px;}
改变元素class(可以绑定在某个事件中,或者页面加载完成执行)
var elem=document.getElementById("控件id");//获取控件
elem.className='newPosition';//为空间添加class样式
展开全部
浏览器容错性问题,试着在后面加上“px”单位:
document.all.Calendar.style.left=x+2 + "px";
document.all.Calendar.style.top=y+20 + "px";
document.all.Calendar.style.left=x+2 + "px";
document.all.Calendar.style.top=y+20 + "px";
追问
实在感谢,就是这个原因,不过百度了style.left和offsetleft不同,知道了style.left的返回值是xxx,offsetleft的返回值是xxx px,所以试着加上px就解决了,就顺手采纳了当时只有一条回答,不好意思,还是十分感谢~
追答
你还我采纳率 5555....
还有一般style.left是设置位置,offset.left是取位置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
style.position没设置啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询