Frage
Ich gebe das, wenn sonst Aussagen einen Stich, nicht sicher, ob ich das richtig schreibe ... Den Versuch, es zu bekommen, so dass, wenn die popupHeight Dimension größer als die window Dimension ist, dann wäre es an die Spitze des Darstellungs zu positionieren + 10px ...
$("#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;
}
});
Lösung
Befreien Sie sich von dem Semikolon nach scrollTop () und legt es am Ende der Leitung -
container.css{("top": $(window).scrollTop(); + 10 + "px")
Sollte aussehen -
container.css({"top": $(window).scrollTop() + 10 + "px"});
Ihre CSS-Funktion muss auch neu formatiert werden, sollten die oben mag.
Andere Tipps
Ich habe jQuery noch nie benutzt, so dass ich könnte falsch sein, aber es ist nicht das Semikolon in dieser Linie an der falschen Stelle?
container.css{("top": $(window).scrollTop(); + 10 + "px")
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow