0

我正在尝试创建一个幻灯片,在下一个使用 Mootools Javascript 时淡化图像。幻灯片在浏览器中工作,但布局让我心痛。我将它放置在网页的某个区域,每当我在 IE 和 Google Chrome 中重新调整浏览器窗口的大小时,幻灯片都不会重新缩放。我不知道幻灯片图像是否太大,但在缩小时它似乎不适合窗口浏览器,它只是向左延伸。

这是 JSFiddle http://jsfiddle.net/TE75y/10/中的代码(我是使用 JSFiddle 的新手,所以请原谅幻灯片图像的轻微错误)。

Javascript

<script type="text/javascript">

window.addEvent('domready',function() {
    /* settings */
    var showDuration = 3000;
    var container = $('banner-container');
    var images = container.getElements('img');
    var currentIndex = 0;
    var interval;
    /* opacity and fade */
    images.each(function(img,i){ 
        if(i > 0) {
            img.set('opacity',0);
        }
    });
    /* worker */
    var show = function() {
        images[currentIndex].fade('out');
        images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].fade('in');
    };
    /* start once the page is finished loading */
    window.addEvent('load',function(){
        interval = show.periodical(showDuration);
    });
});



 </script>

的HTML

<div id="banner-container">

<div>
<img src="../images/banner5.jpg" width="1090" height="340" alt="banner 5"/>
</div>
<div>
<img src="../images/banner7.jpg" width="1090" height="340" alt="banner 7"/>
</div>
<div>
<img src="../images/creamfields.jpg" width="1090" height="340" alt="creamfields"/>
</div>
<div>
<img src="../images/Creamfileds-Banner.jpg" width="1090" height="340" alt="creamfield 2"/>
</div>

CSS

#banner-container {
position: relative;
height: 340px;
width: 960px;
margin-left: 450px;
}
#banner-container > div {
position: absolute;
top: 55px;
left: 10px;
right: 10px;
bottom: 10px;
}

#banner-container img {
display: block;
position: absolute;
background-color: #F5F5F5;
border: 1px solid #FFFFFF;
-moz-box-shadow: 0 0 22px #000000;
-webkit-box-shadow: 0 0 22px #000000;
box-shadow: 0 0 22px #000000;
top: 0;
left: 0;
z-index: 1;
height: 340px;
width: 960px;
}

我真的很感激一些有用的解决方案,因为我尝试了大多数不起作用的解决方案,我似乎无法理解如何解决它。

提前致谢

4

1 回答 1

0

我刚刚对您的代码进行了一些整理,现在可以使用了。

你应该学习如何使用 jsfiddle(它很简单)所以看看我的 jsfiddle 并学习。

http://jsfiddle.net/87ZkC/

放入html:

<div id="banner-container">

<div class="slides-wrapper">

<img src="http://routenote.com/blog/wp-content/uploads/2009/11/festival-crowd.jpg" width="1090" height="340" alt="banner 5"/> 

<img src="http://unfoldstudentlife.co.uk/wp-content/uploads/2012/07/Glastonbury-2005-music-festival-Pyramid-Stage-CL.jpg" width="1090" height="340" alt="banner 7"/> 
<img src="http://www.cable-london.com/images/uploads/content/Festival_Crowd1.jpeg" width="1090" height="340" alt="creamfields"/> 

<img src="http://huntingothers.com/wp-content/uploads/2011/07/festypic.jpg" width="1090" height="340" alt="creamfield 2"/> 
</div> 

</div>

放入css:

#banner-container {
position: relative;
height: 340px;
width: 960px;
margin-left: 450px;
}
#banner-container > div {
position: absolute;
top: 55px;
left: 10px;
right: 10px;
bottom: 10px;
}

#banner-container img {
display: block;
position: absolute;
background-color: #F5F5F5;
border: 1px solid #FFFFFF;
-moz-box-shadow: 0 0 22px #000000;
-webkit-box-shadow: 0 0 22px #000000;
box-shadow: 0 0 22px #000000;
top: 0;
left: 0;
z-index: 1;
height: 340px;
width: 960px;
}

放入js:

/* settings */
    var showDuration = 3000;
    var container = $('banner-container');
    var images = container.getElements('img');
    var currentIndex = 0;
    var interval;
    /* opacity and fade */
    images.each(function(img,i){ 
        if(i > 0) {
            img.set('opacity',0);
        }
    });
    /* worker */
    var show = function() {
        images[currentIndex].fade('out');
        images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].fade('in');
    };

var  interval = show.periodical(showDuration);

此外,在左侧的“Frameworks & Extensions”部分包括 mootools。

于 2013-04-02T17:09:34.017 回答