Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:03 25.06.24 
Компютри и Интернет
   >> WEB Дизайн и HTML
*Кратък преглед

Тема Някой да е по-наясно с DOM на Netscape 6/7нови  
Автор Byd™ ((Nyakoj))
Публикувано28.07.03 21:27



Здравейте,
имам следния проблем:

Това е HTML-a:



<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="imagetoolbar" content="no">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="bg">
<style type="text/css">
.SubHMarquee
{font-family: Arial; font-size: 7pt; font-weight: bold; color: #000000; text-align: left; font-style: italic; text-decoration: none}
</style>
<TITLE> test </TITLE>
<script language="JavaScript">
<!--
var MarqueeHTML="<nobr>Alabala, alabala - Retrieves the width of the object without taking into account any margin, border, scroll bar, or padding that might have been applied to the object. - I oshte alabala....<\/nobr>";
var MxLoc=0;
var VisibleWidth;
var ScrollObjW;
var EndLeftPos;
var ScrollStep=1;
var ScrollSpeed=50;

function ScrollMarquee() {
if(isNaN(window.innerWidth)){VisibleWidth=document.body.clientWidth;} //IE
else{VisibleWidth=window.innerWidth;} //NS

MxLoc=VisibleWidth;
document.getElementById("SMarqueeCell").innerHTML=MarqueeHTML;
document.getElementById("SMarqueeTable").style.left=MxLoc+"px";
document.getElementById("SMarqueeTable").style.visibility="visible";

if(isNaN(window.innerWidth)){ScrollObjW=document.body.scrollWidth-VisibleWidth;} //IE
else{ScrollObjW=document.width-VisibleWidth;} //NS
EndLeftPos=-ScrollObjW;


setInterval('MMoving()',ScrollSpeed);
}

function MMoving() {
MxLoc=parseInt((MxLoc-ScrollStep),10);
document.getElementById("SMarqueeTable").style.left=MxLoc+"px";
if(MxLoc<EndLeftPos){MxLoc=VisibleWidth;}
}

//-->
</script>
</HEAD>

<BODY bgcolor="#E6E6E6" leftmargin="0" topmargin="0" onload="ScrollMarquee()">

<table height="15" border="0" cellspacing="0" cellpadding="0" style="position: absolute; left: 0px; top: 0px; height: 15; z-index: 1; visibility: hidden" id="SMarqueeTable">
<tr height="15">
<td height="15" align="left" valign="middle" class="SubHMarquee" id="SMarqueeCell"><nobr></nobr></td>
</tr>
</table>

</BODY>
</HTML>



Този HTML се отваря във фрейм, чиято ширина е твърдо 530 пиксела (<frameset cols="*,530,*">) и scrolling="no"....

Проблемът възниква, когато трябва да сметна текущата дължина на таблицата SMarqueeTable за да мога да преценя кога да започна да я скролирам отначало. Тази дължина се променя в зависимост от дължината на MarqueeHTML, която ще бъде променлива....

Във IE няма никакъв проблем: след като "напълня" таблицата и я "избутам" в десния край на видимия прозорец, разликата между текущата ширина на целия документ (document.body.scrollWidth) и ширината на видимия прозорец (document.body.clientWidth) ми дава точно тази ширина на таблицата...


Във Netscape 6/7 ширината на видимия прозорец няма грижи (window.innerWidth), обаче има проблем с ширината на целия документ:

в случая document.width (което според документацията, която открих за DOM-а би трябвало да е точно това) ми връща ширината на видимия прозорец - 530 ?!?!??

ако пък използвам document.body.scrollWidth (което пак според документацията би трябвало да си работи с NS6/7) всичко е точно както трябва да бъде, докато прозореца е с разрешени скролбарове. В моя случай обаче скролбара се налага да е забранен и тогава document.body.scrollWidth ми връща 0, независимо че таблицата "стърчи" с цялата си ширина надясно от края на видимия прозорец...
т.е. под Netscape не мога по този начин динамично да "прихвана" текущата ширина на тази таблица (SMarqueeTable)...

Този тъп проблем ми докара главоболие в последните 2 часа - какво ли не опитвах и не ще....

Някакви идеи ???????????



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Byd™]  
Автор Blake (извънземен)
Публикувано29.07.03 09:01



ya probvai dali nema da stane s:
document.documentElement.offsetWidth i document.documentElement.offsetHeight?

borih se predi vreme s neshto podobno i mai tva beshe tochno obekta deto e "otgovoren" za document-a... (ne me pitai otkade sam go izrovil, nemam nikvi spomeni)

Just a genius



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Byd™]  
Автор desertwaste ()
Публикувано29.07.03 11:09



na devedge.netscape.com ima link kum dom-a na gecko.
tam mozhe da namerish otgowor na waprosa si, no informaciata tam e uzhasno razhwurliana, taka che budi po-uporit.



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Blake]  
Автор Byd™ ((Nyakoj))
Публикувано29.07.03 15:21



Мнооогооо 10х

точно това е - направо ме разби с този чуден обект...
колкото документации гледах, това не го срещнах никъде.

Вече бях почнал да обмислям разни извратени начини да взема ширината на таблицата...

Благодаря още веднъж



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: desertwaste]  
Автор Byd™ ((Nyakoj))
Публикувано29.07.03 15:47



10x,
наминах от там още вчера, когато тази простотия ме беше изнервила тотално, но не можах да открия инфо за този извратен обект

Иначе link-a наистина е полезен и ако на някой му се налага да се оправя с Netscape и не го знае - хвърлете му едно око...
10х



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7 [re: Byd™]  
Автор Byd™ ((Nyakoj))
Публикувано14.09.03 02:35



Ох, айде старата песен - на нов глас

Отново същия проблем - този път с Opera 7.

Тя на всичко (включително document.documentElement.offsetWidth, document.body.scrollWidth и т.н и т.н....) си връща безотказно 530 px (освен в случаите когато не връща нищо).
И след всичкия материал, който съм преровил по въпроса от тогава насам пак не мога да изнамеря решение.

Някой да знае как мога да я намеря тази ширина (цялата) на HTML element-а в Opera???

.

The Armenian Priest wishes You a lot of good health...


Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Byd™]  
Автор Byd™ ((Nyakoj))
Публикувано15.09.03 02:30



Колкото по го чета

, толкова по се убеждавам, че ако пича е прав значи няма начин за достъп до пълната ширина на документа в Opera...

Мамка му и парсе

.

The Armenian Priest wishes You a lot of good health...

Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Byd™]  
Авторя (Нерегистриран)
Публикувано15.09.03 10:03



function DumpProps (o, cnt)
{
for (var i in o)
o.innerHtml += i + " = " + o;
alert(o);
}

...
div id="j"

...
DumpProps(document, j)


поне ще изплюе къде какво има, понякога прави много изненадващи разкрития... малко хамалогия. Но може и да си намериш нещо, което да ти свърши работа.



Тема Re: Някой да е по-наясно с DOM на Netscape 6/7нови [re: Byd™]  
Автор voyager (прасе в космоса)
Публикувано15.09.03 10:56



Ако ти трябва ширината на целия документ, screen.availWidth няма ли да ти свърши някаква груба работа? То скролчето е еднакво навсякъде

--




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.