我正在建立自舉並具有一個標題區域,可在左側旋轉文本並利用引導程序的傳送帶旋轉右側的圖像。文本只是幾個字的副本,主要字是較大的和腳本,在它下面有幾個字以不同的類型。我正在使用的JavaScript旋轉第一個大字,因爲它應該,但將其他單詞堆疊在一起。在大多數瀏覽器中一切正常,但IE8給我這個問題。使用javascript旋轉文本 - 在IE8中不工作
任何人都可以看我的代碼,並給我任何幫助解決這個問題嗎?
這是我的html:
<div class="rotator">
<ul>
<li class="show">
<p class="script">Discover<br/><br/>
<span class="captionwhite">the many uses<br/>of glass block</span></p>
</li>
<li class="show">
<p class="script">Create<br/><br/>
<span class="captionwhite">a beautiful<br/>shower enclosure</span></p>
</li>
<li class="show">
<p class="script">Illuminate<br/><br/>
<span class="captionwhite"> your bathroom<br/>naturally</span></p>
</li>
</ul>
</div>
這是我的CSS:
/* rotator in-page placement */
div.rotator {
position:relative;
}
/* rotator css */
div.rotator ul li {
position:absolute;
list-style: none;
}
這是JavaScript:
function theRotator() {
//Set the opacity of all images to 0
$('div.rotator ul li').css({opacity: 0.0});
//Get the first image and display it (gets set to full opacity)
$('div.rotator ul li:first').css({opacity: 1.0});
//Call the rotator function to run the slideshow, 3000 = change to next image after 3 seconds
setInterval('rotate()',3000);
}
function rotate() {
//Get the first image
var current = ($('div.rotator ul li.show')? $('div.rotator ul li.show') : $('div.rotator ul li:first'));
if (current.length == 0) current = $('div.rotator ul li:first');
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
//Un-comment the 3 lines below to get the images in random order
//var sibs = current.siblings();
//var rndNum = Math.floor(Math.random() * sibs.length);
//var next = $(sibs[ rndNum ]);
//Set the fade in effect for the next image, the show class has higher z-index
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 3000);
//Hide the current image
current.animate({opacity: 0.0}, 3000)
.removeClass('show');
};
$(document).ready(function() {
//Load the slideshow
theRotator();
$('div.rotator').fadeIn(3000);
$('div.rotator ul li').fadeIn(3000); // tweek for IE
});
任何幫助,將不勝感激!
CSS ['opacity'](https://developer.mozilla。org/en-US/docs/Web/CSS/opacity)規則[不支持IE8](https://developer.mozilla.org/en-US/docs/Web/CSS/opacity#Browser_compatibility)。你必須使用專有的微軟'過濾器'規則(這隻會在IE瀏覽器中工作)。或者,更容易的是,使用jQuery的'.hide()'或設置CSS規則'display:none;'。 – ajp15243
非常感謝回覆!你能給我一個如何使用微軟的過濾規則對它進行編碼的例子嗎?或如何實現jQuery的.hide()? – Tracey
我發佈了一個解決所有這些問題的答案。如果您可以提供幫助,您不希望使用專有的Microsoft篩選器,但似乎有些已在IE9 +中棄用。 – ajp15243