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";
展开
 我来答
Baby_原來
推荐于2017-10-08 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:500万
展开全部

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样式
ftz514396491
2014-11-21 · TA获得超过343个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:125万
展开全部
浏览器容错性问题,试着在后面加上“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是取位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lweiyue
2014-11-21 · TA获得超过1471个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:434万
展开全部
style.position没设置啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式