Vad i detta skript är det som ger hover-effekten? (Learning by looking...)

Permalänk
Medlem

Vad i detta skript är det som ger hover-effekten? (Learning by looking...)

Hej alla SweCare här i programmering och digitalt skapande,

Jag har en fråga angående ett script (JQuery) som jag hittat på en sida. Scriptet i fråga är ett som behandlar hover-funktionen på ett speciellt sätt, kom fram till att det var just denna scriptfil som var ansvarig för effekten (hoversprite.js), och undrar nu vilken del av detta script det är som skapar den speciella hover-funktionen. Undrar då jag håller på att lära mig javascript just nu, och vill kunna göra något liknande själv, så jag vet vad alla de olika elementen gör. Jag förstår självklart vissa delar, men inte vad det är specifikt som skapar den effekten. Koden ser ut som följer:

$(document).ready(function(){ $.fn.hoverSprite = function(thisItem){ $(this).each(function(e){ var item =$(this), srcItem, widthItem, heightItem, imgItem = item.find("img"), idPage, MSIE = ($.browser.msie) && ($.browser.version <= 8); if(thisItem.onLoadWebSite == false || thisItem.onLoadWebSite == undefined){ verificationPageHandler(); $(window).bind("hashchange", verificationPageHandler); }else{ init(); } function verificationPageHandler(){ idPage = "#"+window.location.hash.substring(3, window.location.hash.length); if(idPage != "#"){ if(item.parents(idPage).length != 0){ setTimeout(init,700) } } } function init(){ srcItem = imgItem.attr("src"); widthItem = imgItem.width(); heightItem = imgItem.height(); imgItem.remove(); item.css({width:(widthItem), height:(heightItem/2),"display": "inline-block"}); item.append("<div class='outIcon' style='position:absolute; display:block; width:"+widthItem+"px; height:"+(heightItem/2)+"px; background:transparent url("+srcItem+") no-repeat;'></div>"); item.append("<div class='overIcon' style='position:absolute; display:block; width:"+widthItem+"px; height:"+(heightItem/2)+"px; background:transparent url("+srcItem+") 0 "+(-heightItem/2)+"px no-repeat;'></div>"); item.hover(overHandler, outHandler); if(!MSIE){ item.find(".overIcon").animate({opacity:0}, 0) }else{ item.find(".overIcon").css({"visibility":"hidden"}) } function overHandler(){ if(!MSIE){ $(this).find(".overIcon").stop().animate({opacity:1}, 500, "easeOutCubic") $(this).find(".outIcon").stop().animate({opacity:0}, 500, "easeOutCubic") }else{ item.find(".overIcon").css({"visibility":"visible"}) item.find(".outIcon").css({"visibility":"hidden"}) } } function outHandler(){ if(!MSIE){ $(this).find(".overIcon").stop().animate({opacity:0}, 500, "easeOutCubic") $(this).find(".outIcon").stop().animate({opacity:1}, 500, "easeOutCubic") }else{ item.find(".overIcon").css({"visibility":"hidden"}) item.find(".outIcon").css({"visibility":"visible"}) } } } }) } })

Dold text

EDIT: Värt att nämna är att det här skriptet verkar använda sig av pluginet JQuery Easing!
EDIT2: NVM hela denna tråd, jag hittade exakt var det var, deet låg i scripts.js, förlåt för att ha frågat

Visa signatur

Citera för svar!|Fraktfritt hos INET|Min hemsida
Fractal Design Define R3|Corsair AX 850W|Gigabyte Nvidia GeForce GTX 570|Corsair Vengeance 1600MHz 2x4GB|ASRock P67 Extreme4|Intel Core i5 2500K|2x Samsung Spinpoint F3 1TB|Samsung Blu-Ray läsare
Nikon D7000|Nikon 60mm macro|Nikon 18-70|Nikon 55-300|Nikon 10.5 Fisheye