请教两个js兼容的问题,,

qq290032431 2011-08-24 01:43:58
1、在别浏览器里面js定时滚动图片都可以,但是在火狐下,setTimeOut运行不起来,百度一下,按照某前辈的写法,改成
window.setTimeout(function(){...},1000);
依然没效果,为什么呢?有没有好别的解决方法呀?

2、在IE9里面,
 setInterval(scrollUp(), 1);
这个函数自动滚动图片比IE8快N倍,能不能解决呢?
...全文
219 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq290032431 2011-08-24
  • 打赏
  • 举报
回复
感谢北北的耐心解答,,,,
qq290032431 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mubeibei 的回复:]
引用 5 楼 qq290032431 的回复:
引用 4 楼 mubeibei 的回复:
JScript code
<script>
var NowFrame = 1;
var MaxFrame = 5;
var bStart = 0;
function fnToggle() {
var next = NowFrame + 1;
if (next == MaxFrame + 1)……
[/Quote]

大侠你现在忙不,我加你Q,把完整的Demo发给你,你帮我看看。你加我的也行,就是用户名。
MuBeiBei 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qq290032431 的回复:]
引用 4 楼 mubeibei 的回复:
JScript code
<script>
var NowFrame = 1;
var MaxFrame = 5;
var bStart = 0;
function fnToggle() {
var next = NowFrame + 1;
if (next == MaxFrame + 1) {
NowFrame = MaxFrame;
……
[/Quote]

如果你的这个是我说的那种滤镜的话~·真没办法解决。FF就是根本不支持的~·浏览器没有实现这个功能~·
qq290032431 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mubeibei 的回复:]
JScript code
<script>
var NowFrame = 1;
var MaxFrame = 5;
var bStart = 0;
function fnToggle() {
var next = NowFrame + 1;
if (next == MaxFrame + 1) {
NowFrame = MaxFrame;
……
[/Quote]

嗯,是滤镜,不支持那应该怎么解决呢?
MuBeiBei 2011-08-24
  • 打赏
  • 举报
回复
<script>
var NowFrame = 1;
var MaxFrame = 5;
var bStart = 0;
function fnToggle() {
var next = NowFrame + 1;
if (next == MaxFrame + 1) {
NowFrame = MaxFrame;
next = 1;
}
if (bStart == 0) {
bStart = 1;

setTimeout(function(){fnToggle()}, 1000);
return;
}
else {
oTransContainer.filters[0].Apply();
document.images['oDIV' + next].style.display = "";
document.images['oDIV' + NowFrame].style.display = "none";
oTransContainer.filters[0].Play(duration = 5);
if (NowFrame == MaxFrame)
NowFrame = 1;
else
NowFrame++;
} setTimeout(function(){fnToggle()}, UpdateTime);
}
fnToggle();


</script>


。。。
oTransContainer.filters[0].Apply();
这个是那个动态滤镜吗?
就是图片出来有动画效果那个?

要是的话,貌似只有IE支持,FF不支持吧?我记得
qq290032431 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mubeibei 的回复:]
引用楼主 qq290032431 的回复:
1、在别浏览器里面js定时滚动图片都可以,但是在火狐下,setTimeOut运行不起来,百度一下,按照某前辈的写法,改成

JScript code
window.setTimeout(function(){...},1000);
依然没效果,为什么呢?有没有好别的解决方法呀?

2、在IE9里面,

JScript code
set……
[/Quote]
var NowFrame = 1;
var MaxFrame = 5;
var bStart = 0;
function fnToggle() {
var next = NowFrame + 1;
if (next == MaxFrame + 1) {
NowFrame = MaxFrame;
next = 1;
}
if (bStart == 0) {
bStart = 1;

setTimeout('fnToggle()', 1000);
return;
}
else {
oTransContainer.filters[0].Apply();
document.images['oDIV' + next].style.display = "";
document.images['oDIV' + NowFrame].style.display = "none";
oTransContainer.filters[0].Play(duration = 5);
if (NowFrame == MaxFrame)
NowFrame = 1;
else
NowFrame++;
} setTimeout('fnToggle()', UpdateTime);
}
fnToggle();

上面的js是第一个问题的js全部内容,
我搜到的一个博客的解决办法
MuBeiBei 2011-08-24
  • 打赏
  • 举报
回复
function(){...}

楼主把这里面的具体代码发下~·
MuBeiBei 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq290032431 的回复:]
1、在别浏览器里面js定时滚动图片都可以,但是在火狐下,setTimeOut运行不起来,百度一下,按照某前辈的写法,改成

JScript code
window.setTimeout(function(){...},1000);
依然没效果,为什么呢?有没有好别的解决方法呀?

2、在IE9里面,

JScript code
setInterval(scrollUp(), 1……
[/Quote]

第一个问题~·不是出在window.setTimeout(function(){...},1000);这个问题
而是你具体function(){}这里面的代码可能有不兼容

第二个问题
ie9性能上面都有所提升,肯定处理js要比ie之前的版块快,流畅。

87,989

社区成员

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

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