Jump to content
php.lv forumi
  • 0

scrollWidth probleem ieksh FF


Question

Posted

Sveiki!

Atradu ka ir taada probleema nosakot elementam scrollWidth FireFoxii.

Kods aptuveni sekojoshs.

 

<htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>ff problem</title>
<script>
function f() {
 elm = document.getElementById('i');
 alert(elm + '\n' +
       'offsetWidth: ' + elm.offsetWidth + '\n' +
       'scrollWidth: ' + elm.scrollWidth + '\n');
}
</script>
</head>
<body>


<input id="i" style="width:50px;" value="some long long string">
<button onClick="f();">Show</button>

</body>
</html>

 

IE7 vinjsh uzraada pareizu veertiibu "scrollWidth" (129), bet FF (3.5) vinjsh nemainiigi raada ka "scrollWidth" ir 50 (tikpat cik "offsetWidth").

Varbuut kaads ir sastapies ar liidziigu probleemu un var ieteikt kaadu risinaajumu - kaa piespiest FF atgriezt pareizo veertiibu?

Paldies!

9 answers to this question

Recommended Posts

  • 0
Posted

variants nokopēt tekstu paslēptā divā un izmērīt tā platumu

 

varbuut ka izdodas. bus japamegina.

  • 0
Posted

Vispār tu tur apskati "input" elementu, kuram nav "scrollbar", kādu vēl scrollWidth gribi dabūt? No mozzila.org:

scrollWidth is a read–only property that returns either the width in pixels of the content of an element or the width of the element itself, whichever is greater. If the element is wider than its content area (for example, if there are scroll bars for scrolling through the content), the scrollWidth is larger than the clientWidth.

 

Ar "div" arī neies krastā, jo uzstādot tam css parametru "width" konkrētu pikseļu skaitu, tu pats nofiksē to elementu un saturs tam nebūs platāks (loģiski ne?) Attiecīgi, tev jāliek platumā elastīgā elementā saturs.

Kas attiecas uz input lauku, tur nav nekāds "scrollWidth", jo tas nav elementa saturs, bet elementa vērtība. Textarea laukā gan vari iegūt, jo tur ir "scrollbari", bet tur "skrollēsies" viss vertikāli!

  • 0
Posted (edited)

DIV'am var būt norādīts platums, bet iebāzt iekšā var arī lielāku elementu, teiksim bildi.

Tad nāk talkā propertijs overflow:visible|hidden|scroll|auto, un tad tomēr saturs var būt platāks par width (arī loģiski, ne? :) )

Edited by briedis
  • 0
Posted

man galvenais ir uzzinaat vai ievadiitais teksts nepaarsniedz input platumu (viss teksts ir redzams - un nav aarpus inputa)..

reekjinaat peec burtu platumiem nebuutu forshi :D

  • 0
Posted (edited)

vispār es ar pabrīnījos par scrollWidthu uz input lauku, bet arī safari/chrome to uzrāda, ne tikai IE. Opera gan iet Firefox pēdās.

Edited by indoom
  • 0
Posted

Jūs jau varat te runāt, ko gribat, kā būtu jābūt vai kā nebūtu jābūt, bet citāts no tās pašas lapas vēsta:

Specification

There is no W3C specification for scrollWidth.

Tātad, ja jūs izdomājat te savas "specifikācijas" Javascript elementiem, tad kāpēc uzskatiet, ka pārlūkprogrammām jāstrādā tā kā jūs paši gribētu?

  • 0
Posted

tas nekas, ka kkas šobrīd vēl nav specifikācijā. embed tags arī nav, taču daudzi to atbalsta un youtube to lieto, lai rādītu flash video. galvenais, get the job done! ;)

  • 0
Posted

beigaas uztaisiiju taa, kad tiek izveidots neredzams DIV ar taadu width kaa inputam

.ffDiv {
overflow-x:scroll;
white-space:nowrap;
height:0;
position:absolute;
}

kuram arii vajadziigajaa momentaa tiek nolasiits tas scrollWidth.. kursh tagad tiek atgriezts pareizi.

tas taads workarounds. buutu jau feini ja Mozilla safixotu sho lietu :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...