0
私は、Windows 7、Firefox、Chrome、IE 8+(私は6または7を確認するリソースがありません)とOperaで完全に動作するjavascriptスライドショーを持っています。しかし、私はIE 7でXP上でスライドショーが画面の右側にスローされると言われてきました。何が問題なの?ここでスライドショーの位置付けの問題
は私のCSSです:
*#page {
width:940px;
margin: auto;
}
#gallery {
position:relative;
padding:0px;
margin:5px 0px;
width:940px;
height:320px;
}
#gallery li {
display: block;
width:940px;
height:320
list-style:none;
}*
そして、ここでは私のjavascriptです:
*var galleryId = 'gallery';
var gallery;
var galleryImages;
var currentImage;
var previousImage;
var preInitTimer;
preInit();
function preInit() {
if ((document.getElementById)&&(gallery=document.getElementById(galleryId))) {
gallery.style.visibility = "hidden";
if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer);
} else {
preInitTimer = setTimeout("preInit()",2);
}
}
function fader(imageNumber,opacity) {
var obj=galleryImages[imageNumber];
if (obj.style) {
if (obj.style.MozOpacity!=null) {
obj.style.MozOpacity = (opacity/100) - .001;
} else if (obj.style.opacity!=null) {
obj.style.opacity = (opacity/100) - .001;
} else if (obj.style.filter!=null) {
obj.style.filter = "alpha(opacity="+opacity+")";
}
}
}
function fadeInit() {
if (document.getElementById) {
preInit();
galleryImages = new Array;
var node = gallery.firstChild;
while (node) {
if (node.nodeType==1) {
galleryImages.push(node);
}
node = node.nextSibling;
}
for(i=0;i<galleryImages.length;i++) {
galleryImages[i].style.position='absolute';
galleryImages[i].style.top=0;
galleryImages[i].style.zIndex=0;
fader(i,0);
}
gallery.style.visibility = 'visible';
currentImage=0;
previousImage=galleryImages.length-1;
opacity=100;
fader(currentImage,100);
window.setTimeout("crossfade(100)", 1000);
}
}
function crossfade(opacity) {
if (opacity < 100) {
fader(currentImage,opacity);
opacity += 9;
window.setTimeout("crossfade("+opacity+")", 50);
} else {
fader(previousImage,0);
previousImage=currentImage;
currentImage+=1;
if (currentImage>=galleryImages.length) {
currentImage=0;
}
galleryImages[previousImage].style.zIndex = 0;
galleryImages[currentImage].style.zIndex = 100;
opacity=0;
window.setTimeout("crossfade("+opacity+")", 5000);
}
}
addEvent(window,'load',fadeInit)
function addEvent(elm, evType, fn, useCapture)
{
if (elm.addEventListener){
elm.addEventListener(evType, fn, useCapture);
return true;
} else if (elm.attachEvent){
var r = elm.attachEvent("on"+evType, fn);
return r;
}
} *
やアイデア?
コードペーストを修正してください。かなり読めません。 –
IEバージョン5.5-8をテストするためにIETesterをダウンロードしてください。 'http:// www.my-debugbar.com/wiki/IETester/HomePage' –