Wow .. pour obtenir de vraies informations sur 'ceci' est pas facile car google fondamentalement ignore le mot.En utilisant 'ceci' dans les fonctions imbriquées
Le code ouvre une image à partir d'une base de données en utilisant les informations de la vignette .. l'onlick fonctionne, et le code hover fonctionne, mais je ne peux pas comprendre comment obtenir 'this' du mouseenter à utiliser dans le Fonction showModal.
function showModal() {
$("body").css("overflow-y", "hidden");
$(".small").removeClass("smallHover");
$(".modal").fadeIn(200);
var altLong = $(this).attr("alt");
var altSplit = altLong.split("#");
$(".picTitle").text(altSplit[0]);
var srclong = $(this).attr("src");
var srcshort = srclong.split("_");
var srcextension = srclong.split(".");
$(".big").attr("src", srcshort[0]+'.'+srcextension[1]);
}
$(".small").click(showModal);
var timer;
$(".small").mouseenter(function() {
timer = setTimeout(function(){
$(this).showModal(); // **<--this is the line that doesnt work**
}, 2000);
}).mouseleave(function() {
clearTimeout(timer);
});
aussi si vous pourriez expliquer pourquoi vous utilisez $ (this) comme objet jquery au lieu de simplement « ceci » et comment ils diffèrent, ce serait génial. Merci d'avance ~!
Aussi cette question répond aide au problème global OP connaît: https: //stackoverflow.com/questions/5889237/jquery-nested-this-references –
Hourra! Merci beaucoup, j'avais essayé de faire une variable, et en utilisant l'appel, mais pas ensemble. Merci aussi pour la lecture supplémentaire sur 'ceci', cela m'a aidé à comprendre pourquoi certaines de mes autres tentatives ne fonctionnaient pas non plus (en essayant spécifiquement d'accéder à un attribut au lieu d'exécuter la fonction sur la référence) –