function eight(){
divid = document.getElementById('eight');
i = 1;
function bimg(){
if(i<=8){
divid.style.backgroundImage = 'url("../images/eightimg/eight_'+i+'.gif")';
i++
}else{
i = 1;
}
}
imgb = setInterval(bimg,5000);
}
这个代码动态改变id为eight的div的背景图片,为什么每变换一张图片页面就要闪一下,有什么方法可以不让他闪么?
divid = document.getElementById('eight');
i = 1;
function bimg(){
if(i<=8){
divid.style.backgroundImage = 'url("../images/eightimg/eight_'+i+'.gif")';
i++
}else{
i = 1;
}
}
imgb = setInterval(bimg,5000);
}
这个代码动态改变id为eight的div的背景图片,为什么每变换一张图片页面就要闪一下,有什么方法可以不让他闪么?
解决方案 »
- 请问怎样让图片360度旋转
- js打印去掉页脚页眉问题
- 动态修改table的问题
- 请问innerHTML在FF下的问题如何解决?
- 新手关于css的小问题
- 文本框获取焦点问题(搜索过,没有类似问题)
- javascript回调函数的问题
- [100分]在网页上点击一个aa.rm,如何设置跳出realplay来播放它,急等!
- 菜鸟问题:点击“离开”按钮,弹出"yes"和"no"的对话框,选择yes则转到到另一页面?
- 大神们帮忙弄一个echarts的地图三级联动,点击全国的某个省份出现省份地图,在点击城市出现城市的地图,拜托了!
- JavaScript表单验证的问题,求指导
- 关于ext一个简单的问题,怎么监听关闭对话框左上角的那个叉叉?
加这句试试
document.all&&document.execCommand("BackgroundImageCache", false, true);
var imgar = [];
function eightimg(){
for(i=1;i<9;i++){
imgar[i] = new Image();
imgar[i].src = "../images/eightimg/eight_"+i+".gif";
imgar[i].onload=function(){
this.width = 960;
this.height =380;
}
}
}
function eight(){
divid = document.getElementById('eight');
i = 1;
function bimg(){
if(i<=8){
divid.style.backgroundImage = 'url("'+imgar[i].src+'")';
i++
}else{
i = 1;
}
}
imgb = setInterval(bimg,5000);
}
这样就不闪了,只用bimg函数每变换一次就要从服务器下载一次图片所以闪(我自己的理解不知道对不对),楼上的能讲讲document.all&&document.execCommand("BackgroundImageCache", false, true); 的作用么?
是将图片缓存在IE内存中, 前面的.all是判断是否为ieie6默认图片不入cache. 避免闪烁的方法就这样了问题解决了就好了
楼上的意思是 让你把所有的背景图片压缩到一张大图片上 然后通过position定位来切换.
至于这个技术 楼主可以百度下 CSS Sprite