我正在使用javascript在JSP上显示幻灯片。在幻灯片播放中,图片每3秒淡入和淡出一次。在图片的每个过渡上,整个jsp都会抖动。我也将图片裁切成相同大小,并且加载起来并不那么重。

我的JavaScript代码是:-

<script type="text/javascript">
        var imgs = [
        'images/tern.jpg',
        'images/airplane.JPG',
        'images/sf_night.jpg',
        'images/aerial.jpg',
        'images/airbusa380.jpg'];
        var cnt = imgs.length;

        $(function () {
            setInterval(Slider, 3000);
            var $imageSlide = $('img[id$=imageSlide]');
            // set the image control to the last image
            $imageSlide.attr('src', imgs[cnt - 1]);
        });
        function Slider() {
            $('#imageSlide').fadeOut("slow", function () {
                $(this).attr('src', imgs[(imgs.length++) % cnt]).fadeIn("slow");
            });
        }
</script>


然后在体内我就这样称呼:-

<body>
<div>
<img id="imageSlide" alt="" src="" />
</div>
</body>

最佳答案

每次您切换<img>源时,由于没有显式设置width和height属性,因此页面将重新排列布局。切换新图像SRC时,它将宽度/高度设置为0x0,然后在图像加载完成后恢复为完整尺寸。

设置一个明确的宽度和高度,这样它就不会在每个图像开关之间调整图像大小(从而更改布局)。

10-04 14:30