用js 改 style.top 或style.bottom 在火狐浏览器下都不起作用
functionscrollpicture(btnulid,picturedivid,titleid,imgtop,time){//btnulid装载1、2的li列表的u...
function scrollpicture(btnulid,picturedivid,titleid,imgtop,time){
//btnulid 装载1、2的li 列表的ul id
//picturedivid 装载图片的div id
// titleid 装载title 的div id
//imgtop 图片高度
//time 自动切换时间 “秒” 为单位
time = time*1000;
var uls = document.getElementById(btnulid);
var pics = document.getElementById(picturedivid);
var mytitle = document.getElementById(titleid);
var lis = uls.getElementsByTagName("li");
var curLis=lis[0];
var t;//记录timeout
for(var i=0;i<lis.length;i++){
//一定要使用闭包,记录当前i值,传给function
(function(i){
//注册mouseover事件
lis[i].onmouseover = function(){
clearTimeout(t);
var currenttop = pics.style.top;//未用
var holdtop = i*imgtop;
var title = pics.getElementsByTagName("img")[i];
mytitle.innerHTML = title.getAttribute("alt") ;
function settop(){
pics.style.bottom = holdtop;
}
settop();
for(var j=0;j<lis.length;j++){
lis[j].className="";
}
this.className = "on";
curLis = this;
};
//注册mouseout事件
lis[i].onmouseout = function(){
t = setTimeout(auto,time);
}
lis[i].index = i; //设置index
})(i)
};
//初始第一帧
lis[0].onmouseover();
//自动播放
function auto(){
var nextIndex = curLis.index+1;
if(nextIndex== lis.length){
nextIndex = 0;
}
lis[nextIndex].onmouseover();
t = setTimeout(auto,time);
}
t = setTimeout(auto,time);
}
window.onload =function(){
scrollpicture("listul","pics","mytitle",270,1);
scrollpicture("listul1","pics1","mytitle1",270,2);
} 展开
//btnulid 装载1、2的li 列表的ul id
//picturedivid 装载图片的div id
// titleid 装载title 的div id
//imgtop 图片高度
//time 自动切换时间 “秒” 为单位
time = time*1000;
var uls = document.getElementById(btnulid);
var pics = document.getElementById(picturedivid);
var mytitle = document.getElementById(titleid);
var lis = uls.getElementsByTagName("li");
var curLis=lis[0];
var t;//记录timeout
for(var i=0;i<lis.length;i++){
//一定要使用闭包,记录当前i值,传给function
(function(i){
//注册mouseover事件
lis[i].onmouseover = function(){
clearTimeout(t);
var currenttop = pics.style.top;//未用
var holdtop = i*imgtop;
var title = pics.getElementsByTagName("img")[i];
mytitle.innerHTML = title.getAttribute("alt") ;
function settop(){
pics.style.bottom = holdtop;
}
settop();
for(var j=0;j<lis.length;j++){
lis[j].className="";
}
this.className = "on";
curLis = this;
};
//注册mouseout事件
lis[i].onmouseout = function(){
t = setTimeout(auto,time);
}
lis[i].index = i; //设置index
})(i)
};
//初始第一帧
lis[0].onmouseover();
//自动播放
function auto(){
var nextIndex = curLis.index+1;
if(nextIndex== lis.length){
nextIndex = 0;
}
lis[nextIndex].onmouseover();
t = setTimeout(auto,time);
}
t = setTimeout(auto,time);
}
window.onload =function(){
scrollpicture("listul","pics","mytitle",270,1);
scrollpicture("listul1","pics1","mytitle1",270,2);
} 展开
展开全部
尊敬的用户,您好!很高兴为您答疑
看了一下您的代码,发现您针对style.top和style.bottom的用法存在问题。
1、top属性是一个条件属性,其前置条件为据对行为或者框架内定位。
2、bottom的生效优先级低于top,比如当您设置某个对象的定位值为 1 2 3 4时(对应的是 上 右 下 左),而实际对象所处空间不足这么多像素,那么就会优先对齐上和左的像素数。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
看了一下您的代码,发现您针对style.top和style.bottom的用法存在问题。
1、top属性是一个条件属性,其前置条件为据对行为或者框架内定位。
2、bottom的生效优先级低于top,比如当您设置某个对象的定位值为 1 2 3 4时(对应的是 上 右 下 左),而实际对象所处空间不足这么多像素,那么就会优先对齐上和左的像素数。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
展开全部
top与left只有在层的position为absolute时才可能起作用,也就是说只有对绝对定位的层上top与left才可以使用,形成层的移动!但只有这两个属性,没有buttom的属性,buttom可以通过top与层高和cilentHeight计算得来,没有必要进行设置,所在没有这样的属性的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
style.top 赋值 火狐需加 px,不然不能辨别,如div.style.top=5+"px";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在css里面设置top熟悉,使用style才能访问,如果没有js的style也没有top属性哦。貌似是这样,实在不行就是要jquery或者其他js开放框架吧,方便很多很多很多哦
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询