Ich arbeite mit dem Interspire-Einkaufswagen und es gibt ein wenig Code in common.js, der die Höhe der Produkt-Display-Boxen für Dinge wie "Featured-Produkte" steuert. Es macht es so, dass alle Elemente auf der gleichen Höhe sind. Das macht alles gut, aber das scheint in Firefox nicht zu funktionieren. Die Produktanzeigen sehen in Chrome und IE gut aus, aber auf Firefox erweitern sich die Box-Höhen auf 4000+ Pixel! Noch seltsamer ist es manchmal, wenn ich den Refresh-Button drücke, wird es korrekt korrigiert und angezeigt. Ich kann wieder auffrischen und es ist wieder vermasselt. Site-Tester haben das gleiche Problem.Wie kann ich dieses Javascript-Problem mit maximaler Höhe beheben oder CSS verwenden, um dieselben Ergebnisse zu erzielen?
ich das Stück Code entfernt und die Höhe der Felder in der CSS-Datei gesetzt, aber dann die Elemente sind alle mit unterschiedlichen Höhen und das Display sieht nicht sehr gut aus. Also lege ich den Code zurück und bin ratlos.
Ich denke, ich werde diesen Code loswerden und versuchen, das gleiche Ergebnis nur über CSS zu erreichen. Ist das möglich? Ich bin mir nicht sicher, wie das geht, damit alle Elemente auf der gleichen Höhe sind.
Der Kommentar der Interpsire Codierer setzen ist, dass dieses Stück Code ein 'Hack Job' ist ...
// Ensure that all product lists are the same height
function setProductListHeights(imgName, className) {
// hack job putting this here but it needs to be reused by search ajax pager
if (typeof(DesignMode) != 'undefined') {
return;
}
if (typeof imgName != 'undefined') {
if (typeof loadedImages[imgName] != 'undefined') {
return;
}
loadedImages[imgName] = true;
}
setProductThumbHeight();
/**
* Sets the height of the elements passed in to match that of the one that
* has the greatest height.
*
* @param ele The element(s) to adjust the height for.
* @return void
*/
function setHeight(ele) {
var ele = $(ele),
maxHeight = 0;
ele
// reset the height just in case it was set by the stylesheet so
// we can detect it
.css('height', 'auto')
// get the one with the greatest height
.each(function() {
if ($(this).height() > maxHeight) {
maxHeight = $(this).height();
}
})
// and set them all to the greatest height
.css('height', maxHeight);
}
if (!className) {
className = '.Content';
}
setHeight(className + ' .ProductList:not(.List) li .ProductDetails');
if (typeof imgName != 'undefined') {
setHeight(className + ' .ProductList:not(.List) li .ProductPriceRating:has(img[src$='+imgName+'])');
}
setHeight(className + ' .ProductList:not(.List) li');
}
Thanks so much! Ich habe versucht, dies für eine Weile zu beheben, insbesondere für einige benutzerdefinierte Sales Panels, die ich erstellt habe.
Haben Sie einen Link zu der Seite? – trickyzter
Leider kann ich den Link nicht teilen, habe aber gehofft, dass jemand etwas aus der Hand findet. Wenn Sie mehr Informationen über das CSS oder etwas brauchen, kann ich die Info hinzufügen. – Tsanders