xhtml 浮动窗口求debug。。本来应该div在左边 随着滚动条移动,但现在left和top属性完全不管用。。主要就是通过javascript来随时改变div的top和left值,alert发现确实把值传过去了,但是在就界面却不能呈现。如果我把整个文档改成html格式就没问题,但是xhtml这两个属性就没用,求解答
代码如下:<div id="divstaytopleft" style="position:absolute" >
<layer id="divstaytopleft"><!--EDIT BELOW CODE TO YOUR OWN MENU-->
<blockquote class="plan">
<center><h3>Plan of Study</h3>
<h3 id = "for"></h3></center>
<h3>Foundations area (<span id = "fc">0</span>/2)</h3>
<div id ="F"></div>
<h3>Cognitive area (<span id = "cc">0</span>/2)</h3>
<div id ="C"></div>
<h3>Systems area (<span id = "sc">0</span>/6)</h3>
<div id ="S"></div>
<h3>Tele and LIS area (<span id = "oc">0</span>/0)</h3>
<div id ="O"></div>
</blockquote>
<!--END OF EDIT--></layer>
</div><script type="text/javascript">/*
Floating Menu script- Roy Whittle (http://www.javascript-fx.com/)
Script featured on/available at http://www.dynamicdrive.com/
This notice must stay intact for use
*///Enter "frombottom" or "fromtop"
var verticalpos="fromtop"function JSFX_FloatTopDiv()
{
var startX = 900,
startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
var a=document.getElementById("divstaytopleft");
a.setAttribute("left", ""+el.x+"px");
a.left=el.x;
var b=document.getElementById("divstaytopleft");
alert("b.left"+b.left);
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function()
{
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
var a=document.getElementById("divstaytopleft");
;
}
else{
var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
var a=document.getElementById("divstaytopleft");
a.top=ftlObj.y;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("divstaytopleft");
stayTopLeft();
}
JSFX_FloatTopDiv();
</script>
代码如下:<div id="divstaytopleft" style="position:absolute" >
<layer id="divstaytopleft"><!--EDIT BELOW CODE TO YOUR OWN MENU-->
<blockquote class="plan">
<center><h3>Plan of Study</h3>
<h3 id = "for"></h3></center>
<h3>Foundations area (<span id = "fc">0</span>/2)</h3>
<div id ="F"></div>
<h3>Cognitive area (<span id = "cc">0</span>/2)</h3>
<div id ="C"></div>
<h3>Systems area (<span id = "sc">0</span>/6)</h3>
<div id ="S"></div>
<h3>Tele and LIS area (<span id = "oc">0</span>/0)</h3>
<div id ="O"></div>
</blockquote>
<!--END OF EDIT--></layer>
</div><script type="text/javascript">/*
Floating Menu script- Roy Whittle (http://www.javascript-fx.com/)
Script featured on/available at http://www.dynamicdrive.com/
This notice must stay intact for use
*///Enter "frombottom" or "fromtop"
var verticalpos="fromtop"function JSFX_FloatTopDiv()
{
var startX = 900,
startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
var a=document.getElementById("divstaytopleft");
a.setAttribute("left", ""+el.x+"px");
a.left=el.x;
var b=document.getElementById("divstaytopleft");
alert("b.left"+b.left);
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function()
{
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
var a=document.getElementById("divstaytopleft");
;
}
else{
var pY = ns ? pageYOffset + innerHeight : document.body.scrollTop + document.body.clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
var a=document.getElementById("divstaytopleft");
a.top=ftlObj.y;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("divstaytopleft");
stayTopLeft();
}
JSFX_FloatTopDiv();
</script>
解决方案 »
- 回复文本处理那段代码为什么实现不了?
- 窗口大小改变问题
- 急求解决:关于jquery中对div 和 textarea的show和hide切换
- 网站右下角广告弹窗的问题
- window.open 问题:为什么不能每次都打开新窗口。
- JavaScript函数递归调用问题
- 关于</textarea>里的字节限制,限制输入小于等于40个字节,超过40个字节键盘不能输入
- 简单的数据类型问题
- jquery切换显示,DOM对象参数问题
- 如何实现多个div下li标签,一次点击显示6个,各个div不冲突
- 既然说函数也是对象,alert一个函数,是alert函数的toString方法,那执行函数用的哪个方法?
- 表单的提交 onsubmit;
var verticalpos = "fromtop"
var isScrict = document.compatMode == 'CSS1Compat';//XHTML申明
function JSFX_FloatTopDiv() {
var startX = 900,startY = 100;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id) {
var el = d.getElementById ? d.getElementById(id) : d.all ? d.all[id] : d.layers[id];
if (d.layers) el.style = el;
el.sP = function (x, y) { this.style.left = x + 'px'; this.style.top = y + 'px'; }; ////////// el.x = startX;
var a = document.getElementById("divstaytopleft"); a.setAttribute("left", "" + el.x + "px");
a.left = el.x;
var b = document.getElementById("divstaytopleft");
alert("b.left" + b.left); if (verticalpos == "fromtop")
el.y = startY;
else {
el.y = ns ? pageYOffset + innerHeight : document[isScrict ? 'documentElement' : 'body'].scrollTop + document[isScrict ? 'documentElement' : 'body'].clientHeight;//////////
el.y -= startY;
} return el;
}
window.stayTopLeft = function () {
if (verticalpos == "fromtop") {
var pY = ns ? pageYOffset : document[isScrict ? 'documentElement' : 'body'].scrollTop;/////////////
ftlObj.y += (pY + startY - ftlObj.y) / 8; var a = document.getElementById("divstaytopleft");
; }
else {
var pY = ns ? pageYOffset + innerHeight : document[isScrict ? 'documentElement' : 'body'].scrollTop + document[isScrict ? 'documentElement' : 'body'].clientHeight;////////
ftlObj.y += (pY - startY - ftlObj.y) / 8; var a = document.getElementById("divstaytopleft");
a.top = ftlObj.y;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("divstaytopleft");
stayTopLeft();
}
JSFX_FloatTopDiv();