Изображение циклическое, setInterval и наведение мыши - PullRequest
0 голосов
/ 11 октября 2011

У меня проблема со сценарием, который циклически просматривает изображения.

Как только указатель мыши перемещается по изображению, я хочу приостановить выполнение сценария (InfinityLoop).Когда мышь покидает изображение, сценарий должен продолжаться.

Я пробовал уже несколько дней, но не запустил его: - /

Спасибо за вашу большую помощь здесь!

var j = jQuery.noConflict();

jQuery(document).ready(function()
{
    /* stage functions */
    j("#small img").mouseover(function()
    {
        stageReset();
        var imageurl = j(this).attr("src");
        var aimage = imageurl.replace(".jpg", "_a.jpg");
        var bimage = imageurl.replace(".jpg", "_b.jpg");
        j(this).attr("src", aimage);
        j("#big img").attr("src", bimage);
    });

    j("#small img").mouseout(function()
    {
        var imageurl = j(this).attr("src");
        var aimage = imageurl.replace("_a.jpg", ".jpg");
        j(this).attr("src",aimage);
    });

    function stageReset()
    {
        j("#small img").each(function()
        {
            var reseturl = j(this).attr("src");
            reseturl = reseturl.replace("_a.jpg", ".jpg");
            j(this).attr("src", reseturl);
        });
    }
}

jQuery.fn.stageCycle = function()
    {
    var itemInterval = 2000;
    var numberOfItems = j("#small img").length;
    var currentItem = 0;

    var InfinityLoop = setInterval(function()
        {
        var url = j("#small img").eq(currentItem).attr("src");
        var urla = url.replace(".jpg","_a.jpg");
        var urlb = url.replace(".jpg","_b.jpg");

        stageReset();

        j("#small img").eq(currentItem).attr("src",urla);
        j("#big img").attr("src",urlb);


        if(currentItem == numberOfItems-1)
            {
            currentItem = 0;
            }
        else
            {
            currentItem++;
            }

        }, itemInterval);
    };

j(window).stageCycle();

});
...