js代码IE、火狐不兼容,图片轮换功能不能实现
以下代码在IE中是可以轮换的,但是放到火狐或者遨游就不能轮换了,请高手帮忙<divclass="banner"><imgsrc="/images/js1.jpg"id="...
以下代码在IE中是可以轮换的,但是放到火狐或者遨游就不能轮换了,请高手帮忙
<div class="banner">
<img src="/images/js1.jpg" id="turn" width="853" height="346"
style="filter:revealTrans(duration=1)">
<script>
var obj,first,total,cn,delay=3500
function window.onload(){
obj=document.getElementById("turn") //捕获ID为turn的对象
first=1 //第一张图片的路径信息
total=3 //**********************这里的数字需要修改,其他的不变***************************************最后一张图片的路径信息
cn=1 //当前显示的图片路径信息
setTimeout("change()",delay/2)
//delay/2毫秒后执行change()函数
}
function change(){
url="/images/js" //图片路径的前部分
suffix=".jpg" //图片的扩展名
if(cn<total) //如果当前图片数字小于最后一张的图片数字
url+=(cn+=1)+suffix //cn自增1,并连接字符串得到url
//否则如果当前图片数字等于最后一张的图片数字,即轮换到最后一张时
else if(cn==total)
//cn重调为first(第一张图片),并且连接字符串得到url
url+=(cn=first)+suffix
with(obj.filters.revealTrans){
apply() //捕获对象内容的初始显示,为转换做必要的准备
//revealTrans滤镜的转换效果,0到22为23种效果,
//23为23种效果的随机一种
transition=23
obj.src=url //设置图片的路径
play() //开始转换。
}
setTimeout("change()",delay)//delay毫秒后再次执行change()函数
}
</script>
</div> 展开
<div class="banner">
<img src="/images/js1.jpg" id="turn" width="853" height="346"
style="filter:revealTrans(duration=1)">
<script>
var obj,first,total,cn,delay=3500
function window.onload(){
obj=document.getElementById("turn") //捕获ID为turn的对象
first=1 //第一张图片的路径信息
total=3 //**********************这里的数字需要修改,其他的不变***************************************最后一张图片的路径信息
cn=1 //当前显示的图片路径信息
setTimeout("change()",delay/2)
//delay/2毫秒后执行change()函数
}
function change(){
url="/images/js" //图片路径的前部分
suffix=".jpg" //图片的扩展名
if(cn<total) //如果当前图片数字小于最后一张的图片数字
url+=(cn+=1)+suffix //cn自增1,并连接字符串得到url
//否则如果当前图片数字等于最后一张的图片数字,即轮换到最后一张时
else if(cn==total)
//cn重调为first(第一张图片),并且连接字符串得到url
url+=(cn=first)+suffix
with(obj.filters.revealTrans){
apply() //捕获对象内容的初始显示,为转换做必要的准备
//revealTrans滤镜的转换效果,0到22为23种效果,
//23为23种效果的随机一种
transition=23
obj.src=url //设置图片的路径
play() //开始转换。
}
setTimeout("change()",delay)//delay毫秒后再次执行change()函数
}
</script>
</div> 展开
3个回答
展开全部
尊敬的用户,您好!很高兴为您答疑。
您代码兼容性问题主要出在obj对象几个属性的使用上面。
第一、obj.filters.revealTrans中,这个filters滤镜属性是IE浏览器所特有的,别的内容浏览器都不具备,且其本身未被w3c标准收录,自然此处会报代码异常。就是说非IE浏览器到了这里就执行不下去了。
第二、您的代码中使用了apply()、play()等方法,但是并未看到您的明确定义,因此无法确定这些方法的代码也存在兼容问题。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
您代码兼容性问题主要出在obj对象几个属性的使用上面。
第一、obj.filters.revealTrans中,这个filters滤镜属性是IE浏览器所特有的,别的内容浏览器都不具备,且其本身未被w3c标准收录,自然此处会报代码异常。就是说非IE浏览器到了这里就执行不下去了。
第二、您的代码中使用了apply()、play()等方法,但是并未看到您的明确定义,因此无法确定这些方法的代码也存在兼容问题。
希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
展开全部
别自己写图片切换的代码,用jquery的,百度一下jquery 图片切换,jquery 把切换效果和浏览器兼容的问题都为你解决好了。
追问
不太懂JS,这位仁兄能否帮我转换下这段代码?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-28
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?4=t&id=11341
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询