Question
Je donne un coup de poignard aux déclarations if else, je ne sais pas si j’écris cela correctement & # 8230; Essayez de l'obtenir de sorte que si la dimension popupHeight soit plus grande que la dimension windowHeight, elle le positionnerait en haut de la fenêtre + 10px & # 8230;
$("#data").load("/content/" + htmlName + ".html", null, function(){
//Set Variables
var container = $(".container");
var project = $(".project");
var popupWidth = container.find(".project img:first").width();
var popupHeight = container.find(".project img:first").height()+35;
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var x = ($(window).width() / 2 - popupWidth / 2) + $(window).scrollLeft();
var y = ($(window).height() / 2 - popupHeight / 2) + $(window).scrollTop();
//Set popup dimensions
container.css("width" , popupWidth);
container.css("height" , popupHeight);
//Set popup CSS
container.css({"position": "absolute", "left": x + "px", "z-index": "2" });
project.css({"width": (popupWidth), "height": (popupHeight) });
//Determine Position
if(popupHeight>windowHeight) {
container.css{("top": $(window).scrollTop(); + 10 + "px")
}else{
container.css({"top": y + "px"});
return;
}
});
La solution
Supprimez le point-virgule après scrollTop () et mettez-le à la fin de la ligne -
container.css{("top": $(window).scrollTop(); + 10 + "px")
Devrait ressembler -
container.css({"top": $(window).scrollTop() + 10 + "px"});
Votre fonction css doit également être reformatée, elle devrait ressembler à ce qui précède.
Autres conseils
Je n'ai jamais utilisé jQuery auparavant, alors je me trompe peut-être, mais le point-virgule de cette ligne n'est-il pas au mauvais endroit?
container.css{("top": $(window).scrollTop(); + 10 + "px")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow