Frames resize

5 отговора 230 прегледа
#1

Frames resize

Имам следното питане:
Може ли в зависимост от големината на прозореца на браузъра да задавам стойности на променлива "широчина на фрейм.
Имам предвид следното:
Примерно ако прозорецът е по-малък от 600 на 400 пиксела - то фреима да бъде щирок 120 пиксела, но ако прозореца на браузера е по голям от 600X400 , фрейма да бъде 20 % от него.

Дру подвъпрос е: може ли да се зададе стойност на ширина на фрейм от типа - "20%, но не по малък от 120 пиксела"

Благодаря предварително!

Отговор
в отговор на NoLogo #2

Kratyk Otgowor :)

Samo s HTML ne moje da stane towa deto iskash.

S HTML + javascript moje da stane towa koeto iskash.

Cheers

Отговор
в отговор на vALE #3

Re: Kratyk Otgowor :)

Ми анджък де,
Как с JavaScript
То е почти ясно че само с ХТМЛ не може!


Отговор
в отговор на NoLogo #4

Re: Kratyk Otgowor :)

Mi eto edno reshenie ... ama wseki pyt li triabwa da pishem reshenia shtot niakoi ne si e nauchil uroka :)

Znachi toia script prawi slednoto za IE4+ i NS6

1. Ako shirochinata na browsera e po-malka ot criticalWidth (koito sega sym slojil da e 600) --> levia frame stawa s shirochina 200

2. Ako shirochinata na browsera e po-goliama ot criticalWidth (koito sega sym slojil da e 600) --> levia frame stawa s shirochina 20%

Pri resizwane na prozoreca shirocinata na levia prozorec dinamichno se izchisliawa.

Ako usera niama javascript enabled togawa opirame do chist HTML --> slagame shirochina na levia frame fixirano 200.

Za netscape 4 (wyw wsichki sluchai) shirochinata na levia prozorec e fixirana na 200.

<script>
var criticalWidth = 600;

onresize = function(){
if(!document.layers){
if(top.document.body.offsetWidth < criticalWidth){
top.document.body.cols = "200,*";
}else{
top.document.body.cols = "20%,*";
}
}
}

//<!--

document.write("<frameset cols='200,*'>");
document.write("<frame src=[линк]>");
document.write("<frame src=[линк]>");
document.write("</frameset>");
if(!document.layers) onresize();

//-->
</script>

<noscript>
<frameset cols='200,*'>
<frame src=[линк]>
<frame src=[линк]>
</frameset>
</noscript>

Oshte se chudia kak ne me domyrzia da gi pishja tia raboti :)

pozdrawi

Отговор
в отговор на vALE #5

Zlaten si

Pich zlaten si,

no problema e ce w momenta prozoreca winagi se otwaria s fiksirana sirina. Kak moga da dobawia funkciata kam sabitieto "onLoad" osven kam "onresize" pri men onLoad ne raboti

<script language = "Javascript">
var criticalWidth = 800;

onresize = function()
{
if(!document.layers)
{
if(top.document.body.offsetWidth < criticalWidth)
{
top.document.body.cols = "132,*";
}
else
{
top.document.body.cols = "17%,*";
}
}
}

//<!--

document.write("<frameset cols='17%,*' frameborder='NO' border='0' framespacing='0' rows='*'>");
document.write("<frame src=nat_l_bg.htm scrolling='NO' marginwidth='0' marginheight='0' frameborder='NO' name='l_menu'>");
document.write("<frame src=nat_subfr_bg.htm name='subfr' marginwidth='0' marginheight='0' frameborder='NO'>");
document.write("</frameset>");
if(!document.layers) onresize();

//-->
</script>
</head>
<frameset cols="17%,*" frameborder="NO" border="0" framespacing="0" rows="*">
<frame src="nat_l_bg.htm" scrolling="NO" marginwidth="0" marginheight="0" frameborder="NO" name="l_menu">
<frame src="nat_subfr_bg.htm" name="subfr" marginwidth="0" marginheight="0" frameborder="NO">
</frameset>
<noframes>
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes>
</html>

Отговор
в отговор на NoLogo #6

dobawka

Pri men raboti otlichno. Tozi frame vinagi se otwaria s % a ne sys statichna shirochina. Izglejda statichno kogato se opitwash da go resizwash poneje onresize funciaata wednaga go podmenia sys statichna shirochina AKO browsera e po-tesen ot 800 pixela - koeto e i celta na zadachata.

Za onLoad:

pishesh w javascripta:

onload = function(){

tuka slagash onload koda

}

cheers

Отговор