var speed定义的值在IE和火狐下速度不一样

zls3406 2011-08-23 03:35:02
下面这段JS里,var speed = 30;后IE里还可以,火狐下飞快,怎么回事呢。要什么改才能两个浏览器差不多速度。
谢谢了。


<script language="javascript" type="text/javascript">
var browse = window.navigator.appName.toLowerCase();
var MyMar;
var speed = 30; //速度,越大越慢

var spec = 1; //每次滚动的间距, 越大滚动越快
var minOpa = 100; //滤镜最小值
var maxOpa = 100; //滤镜最大值
var spa = 2; //缩略图区域补充数值
var w = 0;
spec = (browse.indexOf("microsoft") > -1) ? spec : ((browse.indexOf("opera") > -1) ? spec*10 : spec*20);
function $(e) {return document.getElementById(e);}
function goleft() {$('photos').scrollLeft -= spec;}
function goright() {$('photos').scrollLeft += spec;}
function setOpacity(e, n) {
if (browse.indexOf("microsoft") > -1) e.style.filter = 'alpha(opacity=' + n + ')';
else e.style.opacity = n/100;
}
$('goleft').style.cursor = 'pointer';
$('goright').style.cursor = 'pointer';
$('mainphoto').onmouseover = function() {setOpacity(this, maxOpa);}
$('mainphoto').onmouseout = function() {setOpacity(this, minOpa);}
$('mainphoto').onclick = function() {location = this.getAttribute('name');}
$('goleft').onmouseover = function() {this.src = 'images/goleft2.jpg'; MyMar=setInterval(goleft, speed);}
$('goleft').onmouseout = function() {this.src = 'images/goleft.jpg'; clearInterval(MyMar);}
$('goright').onmouseover = function() {this.src = 'images/goright2.jpg'; MyMar=setInterval(goright,speed);}
$('goright').onmouseout = function() {this.src = 'images/goright.jpg'; clearInterval(MyMar);}
window.onload = function() {
setOpacity($('mainphoto'), minOpa);
var rHtml = '';
var p = $('showArea').getElementsByTagName('img');
for (var i=0; i<p.length; i++) {
w += parseInt(p[i].getAttribute('width')) + spa;
setOpacity(p[i], minOpa);
p[i].onclick = function() {location = this.getAttribute('name');}
p[i].onmouseover = function() {
setOpacity(this, maxOpa);
$('mainphoto').src = this.getAttribute('rel');
$('mainphoto').setAttribute('name', this.getAttribute('name'));
setOpacity($('mainphoto'), maxOpa);
}
p[i].onmouseout = function() {
setOpacity(this, minOpa);
setOpacity($('mainphoto'), minOpa);
}
rHtml += '<img src="' + p[i].getAttribute('rel') + '" width="0" height="0" alt="" />';
}
$('showArea').style.width = parseInt(w) + 'px';
var rLoad = document.createElement("div");
$('photos').appendChild(rLoad);
rLoad.style.width = "1px";
rLoad.style.height = "1px";
rLoad.style.overflow = "hidden";
rLoad.innerHTML = rHtml;
}
</script>
...全文
451 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zls3406 2011-08-26
  • 打赏
  • 举报
回复
<!-- 图片滚动开始 -->

<div class="rollBox">
<div class="LeftBotton" onmousedown="ISL_GoUp()" onmouseup="ISL_StopUp()" onmouseout="ISL_StopUp()"></div>
<div class="l mt7"><img src="images/pinpaisj.gif" width="168" height="88"/></div>
<div class="Cont" id="ISL_Cont">
<div class="ScrCont">
<div id="List1">

<!-- 图片列表 begin -->
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>

<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<div class="pic">
<a href="/" target="_blank"><img src="images/001.jpg" width="156" height="80" /></a>
</div>
<!-- 图片列表 end -->

</div>
<div id="List2"></div>
</div>
</div>
<div class="RightBotton" onmousedown="ISL_GoDown()" onmouseup="ISL_StopDown()" onmouseout="ISL_StopDown()"></div>
</div>


<script language="javascript" type="text/javascript">
<!--//--><![CDATA[//><!--
//图片滚动列表 mengjia 070816
var Speed = 1; //速度(毫秒)
var Space = 5; //每次移动(px)
var PageWidth = 528; //翻页宽度
var fill = 0; //整体移位
var MoveLock = false;
var MoveTimeObj;
var Comp = 0;
var AutoPlayObj = null;
GetObj("List2").innerHTML = GetObj("List1").innerHTML;
GetObj('ISL_Cont').scrollLeft = fill;
GetObj("ISL_Cont").onmouseover = function(){clearInterval(AutoPlayObj);}
GetObj("ISL_Cont").onmouseout = function(){AutoPlay();}
AutoPlay();
function GetObj(objName){if(document.getElementById){return eval('document.getElementById("'+objName+'")')}else{return eval('document.all.'+objName)}}
function AutoPlay(){ //自动滚动
clearInterval(AutoPlayObj);
AutoPlayObj = setInterval('ISL_GoDown();ISL_StopDown();',3000); //间隔时间
}
function ISL_GoUp(){ //上翻开始
if(MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
MoveTimeObj = setInterval('ISL_ScrUp();',Speed);
}
function ISL_StopUp(){ //上翻停止
clearInterval(MoveTimeObj);
if(GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0){
Comp = fill - (GetObj('ISL_Cont').scrollLeft % PageWidth);
CompScr();
}else{
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrUp(){ //上翻动作
if(GetObj('ISL_Cont').scrollLeft <= 0){GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft + GetObj('List1').offsetWidth}
GetObj('ISL_Cont').scrollLeft -= Space ;
}
function ISL_GoDown(){ //下翻
clearInterval(MoveTimeObj);
if(MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
ISL_ScrDown();
MoveTimeObj = setInterval('ISL_ScrDown()',Speed);
}
function ISL_StopDown(){ //下翻停止
clearInterval(MoveTimeObj);
if(GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0 ){
Comp = PageWidth - GetObj('ISL_Cont').scrollLeft % PageWidth + fill;
CompScr();
}else{
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrDown(){ //下翻动作
if(GetObj('ISL_Cont').scrollLeft >= GetObj('List1').scrollWidth){GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft - GetObj('List1').scrollWidth;}
GetObj('ISL_Cont').scrollLeft += Space ;
}
function CompScr(){
var num;
if(Comp == 0){MoveLock = false;return;}
if(Comp < 0){ //上翻
if(Comp < -Space){
Comp += Space;
num = Space;
}else{
num = -Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft -= num;
setTimeout('CompScr()',Speed);
}else{ //下翻
if(Comp > Space){
Comp -= Space;
num = Space;
}else{
num = Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft += num;
setTimeout('CompScr()',Speed);
}
}
//--><!]]>
</script>



这个是另一段图片向左滚动的代码,这里的scrollLeft就好用。在哪个浏览器下都速度一样。
zls3406 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lsw645645645 的回复:]
楼主有想过是你下面这个函数的问题吗:

JScript code

function goleft() {$('photos').scrollLeft -= spec;}


在不同浏览器下
scrollLeft 是不是一样的呀。
[/Quote]

那我应该怎么办呢。改成什么啊。我不会这个啊。哈。帮帮忙啊。谢谢了。
lsw645645645 2011-08-25
  • 打赏
  • 举报
回复
楼主有想过是你下面这个函数的问题吗:

function goleft() {$('photos').scrollLeft -= spec;}

在不同浏览器下
scrollLeft 是不是一样的呀。
zls3406 2011-08-25
  • 打赏
  • 举报
回复
有知道该怎么调这个时间的吗。帮帮忙呗
zls3406 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ziyouren521125 的回复:]
30是30毫秒啊,肯定会飞快
[/Quote]

那要是加大的话。火狐正常了。但是IE特别特别慢了。 怎么统一速度呢。差不太多也行啊。
ziyouren521125 2011-08-23
  • 打赏
  • 举报
回复
30是30毫秒啊,肯定会飞快
zls3406 2011-08-23
  • 打赏
  • 举报
回复
有没有人知道啊。
zls3406 2011-08-23
  • 打赏
  • 举报
回复
无人回答。等待中
zls3406 2011-08-23
  • 打赏
  • 举报
回复
有遇到过这种情况的吗。帮助解决一下啊。
CSS有HACK。不知道JS里有没有这种,针对浏览器写两个语句的。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧