Egy iframe-nél hogy lehet megoldani, hogy a magassága dinamikusan változzon?
Egy webshop kosaránál szeretném alkalmazni. Ha a kosár üres, akkor csak azt írja ki, hogy "A kosár üres" és csak olyan magas legyen, mint a betűk, de ha beteszek egy terméket a kosárba, akkor X px-el nőnie kellene a magasságnak, ha kitörlöm, akkor meg csökkennie.
Hogy lehetne ezt megoldani?
iframe -ből tudod növelni a parent elem méretét, ha az azonos host -on érhető el.
pl. jQuery -vel:
$('#KosarFrameID',window.parent.document).css('height',($('body').height()+'px'));
Vagy inkább ajax-szal csináld és nem lesz ilyen gond
lesz egy konténerdiv amibe egy phpvel legenerálod a listát, amit beleappendelsz.
sidebar.php
<div>
<h3>Kosár</h3>
<iframe id="cart" name="cart" src="cart.php" scrolling="no" border="0" frameborder="0" framespacing="0" marginwidth="0" marginheight="0" style="width:100%;"></iframe>
</div>
---------------
cart.php (ebbe most még csak pár szám van, teszt célból)
<html>
<head>
<meta charset="utf-8" />
<style>
body { color:#fff; }
</style>
<script>
$('#cart',window.parent.document).css('height',($('body').height()+'px'));
</script>
</head>
<body>
<script>
for(var x=1; x<=250; x++) {
document.writeln(x+', ');
}
</script>
</body>
</html>
@bobtom
az ajax-hoz sajnos még annyira se értek, mint a jquery-hez :-(
Igazából elég egyszerű.
ezt azt csinálja, hogy a .actionCont.collapsed classú div tartalmát tölti bele a .cart-containerbe.
Így akár egy meglévő cart pageről át tudod emelni a html-t és egyedi css-t tudsz használni rajta.
Az én verziómnál csak annyi hibát követtél el, hogy a cart.php -ba nem hívtad be a jQuery -t.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
az ajaxos load se rossz, csak akkor nem frame -be kell küldeni a kosárba helyezést, hanem azt is ajax módon.
Ez viszont már komolyabb átszervezést igényel, mert így a kosárba helyezés HTML-JS részét is meg kell babrálni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!