简体   繁体   中英

Timing on rollover jQuery

I want to add a fadeTo() function into this code so the rollover isn't instantaneous.

// JavaScript Document

function initRollovers() {
if (!document.getElementById) return

var aPreLoad = new Array();
var sTempSrc;
var aImages = document.getElementsByTagName('img');

for (var i = 0; i < aImages.length; i++) {      
    if (aImages[i].className == 'imgover') {
        var src = aImages[i].getAttribute('src');
        var ftype = src.substring(src.lastIndexOf('.'), src.length);
        var hsrc = src.replace(ftype, '_o'+ftype);

        aImages[i].setAttribute('hsrc', hsrc);

        aPreLoad[i] = new Image();
        aPreLoad[i].src = hsrc;

        aImages[i].onmouseover = function() {
            sTempSrc = this.getAttribute('src');
            this.setAttribute('src', this.getAttribute('hsrc'));
        }   

        aImages[i].onmouseout = function() {
            if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
            this.setAttribute('src', sTempSrc);
        }
    }
}
}

window.onload = initRollovers;

Try this :

// JavaScript Document
$(window).ready(function () {
initRollovers();
})

function initRollovers() {
if (!document.getElementById) return

var aPreLoad = new Array();
var sTempSrc;
var aImages = document.getElementsByTagName('img');

for (var i = 0; i < aImages.length; i++) {
    if (aImages[i].className == 'imgover') {
        var src = aImages[i].getAttribute('src');
        var ftype = src.substring(src.lastIndexOf('.'), src.length);
        var hsrc = src.replace(ftype, '_o' + ftype);

        aImages[i].setAttribute('hsrc', hsrc);

        aPreLoad[i] = new Image();
        aPreLoad[i].src = hsrc;

        $(aImages[i]).mouseenter(function () {
            sTempSrc = this.getAttribute('src');
            sCurrent = this;
            $(sCurrent).fadeOut(function () {
                this.setAttribute('src', this.getAttribute('hsrc'));
                $(sCurrent).fadeIn();
            });

        })

        $(aImages[i]).mouseleave(function () {
            $(sCurrent).fadeOut(function () {
                if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o' + ftype, ftype);
                this.setAttribute('src', sTempSrc);
                $(sCurrent).fadeIn();
            })


        })
    }
}
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM