jQuery图像滑块首先加载合并的第三和第四的图像,而不是第一个

jQuery image slider first loading amalgimation of 3rd and 4th images instead of 1st

本文关键字:图像 第一个 加载 合并 jQuery      更新时间:2023-09-26

我试图使一个基本的图像滑块基于这里找到的代码,但编辑较长的横幅。现在的问题是,每当它加载,而不是显示第一个刺激,它显示的是第三和第四图像的合并,第一个图像的滑块。一旦你把它移动到第二张图片,它就会正常工作,甚至当你回到第一张图片时也没有任何问题。

jQuery代码太长了,不能在这里发布,但它是未经编辑的,从上面的下载(我不熟悉它,不知道如何编辑它)

我确实将html文件更改为以下内容:

<html xmlns="http://www.w3.org/1999/xhtml"><head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style type="text/css">
            body {
                background: #222;
                margin: 0; padding: 0;
                font: normal 10px Verdana, Arial, Helvetica, sans-serif;
            }
            *{outline: none;}
            img {border: 0;}
            .container {
                width: 790px;
                padding: 0;
                margin: 0 auto;
            }
            .folio_block {
                position: absolute;
                left: 50%; top: 50%;
                margin: -140px 0 0 -395px;
            }

            /*--Main Container--*/
            .main_view {
                float: left;
                position: relative;
            }
            /*--Window/Masking Styles--*/
            .window {
                height:175px;   width: 900px;
                overflow: hidden; /*--Hides anything outside of the set width/height--*/
                position: relative;
            }
            .image_reel {
                position: absolute;
                top: 0; left: 0;
            }
            .image_reel img {float: left;}
            /*--Paging Styles--*/
            .paging {
                position: absolute;
                bottom: 0px; right: -7px;
                width: 178px; height:47px;
                z-index: 100; /*--Assures the paging stays on the top layer--*/
                text-align: center;
                line-height: 40px;
                background: url(paging_bg2.png) no-repeat;
                display: none; /*--Hidden by default, will be later shown with jQuery--*/
            }
            .paging a {
                padding: 4px;
                text-decoration: none;
                color: #fff;
            }
            .paging a.active {
                font-weight: bold;
                background: #474747;
                border: 1px solid #171717;
                -moz-border-radius: 3px;
                -khtml-border-radius: 3px;
                -webkit-border-radius: 3px;
            }
            .paging a:hover {font-weight: bold;}
        </style>
</head><body>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            //Set Default State of each portfolio piece
            $(".paging").show();
            $(".paging a:first").addClass("active");
            //Get size of images, how many there are, then determine the size of the image reel.
            var imageWidth = $(".window").width();
            var imageSum = $(".image_reel img").size();
            var imageReelWidth = imageWidth * imageSum;
            //Adjust the image reel to its new size
            $(".image_reel").css({'width' : imageReelWidth});
            //Paging + Slider Function
            rotate = function(){
                var triggerID = $active.attr("rel") - 1; //Get number of times to slide
                var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
                $(".paging a").removeClass('active'); //Remove all active class
                $active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
                //Slider Animation
                $(".image_reel").animate({
                    left: -image_reelPosition
                }, 500 );
            };
            //Rotation + Timing Event
            rotateSwitch = function(){
                play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
                    $active = $('.paging a.active').next();
                    if ( $active.length === 0) { //If paging reaches the end...
                        $active = $('.paging a:first'); //go back to first
                    }
                    rotate(); //Trigger the paging and slider function
                }, 7000); //Timer speed in milliseconds (3 seconds)
            };
            rotateSwitch(); //Run function on launch
            //On Hover
            $(".image_reel a").hover(function() {
                clearInterval(play); //Stop the rotation
            }, function() {
                rotateSwitch(); //Resume rotation
            });
            //On Click
            $(".paging a").click(function() {
                $active = $(this); //Activate the clicked paging
                //Reset Timer
                clearInterval(play); //Stop the rotation
                rotate(); //Trigger rotation immediately
                rotateSwitch(); // Resume rotation
                return false; //Prevent browser jump to link anchor
            });
        });
    </script>
    <div class="container">
        <div class="folio_block">
            <div class="main_view">
                <div class="window">
                    <div style="width: 3160px; left: -2370px;"
                         class="image_reel">
                        <a href="#"><img
                                src="reel_1.jpg"
                                alt=""/></a>
                        <a href="#"><img
                                src="reel_2.jpg"
                                alt=""/></a>
                        <a href="#"><img
                                src="reel_3.jpg"
                                alt=""/></a>
                        <a href="#"><img
                                src="reel_4.jpg"
                                alt=""/></a>
                    </div>
                </div>
                <div style="display: block;" class="paging">
                    <a class="" href="#" rel="1">1</a>
                    <a class="" href="#" rel="2">2</a>
                    <a class="" href="#" rel="3">3</a>
                    <a class="" href="#" rel="4">4</a>
                </div>
            </div>
        </div>
    </div>

</body></html>

任何帮助都将非常感谢,我有点力不从心

问题似乎出在你的HTML中。.image_reeldiv中的样式声明是导致问题的原因。