-
1. Data: 2013-05-07 09:20:46
Temat: Jak pobrać szerokość elementu?
Od: Marek <p...@s...com>
Witam,
Mamy strukturę:
<div style="width:700px; height:100px; position:relative overflow:hidden">
<div style="position:absolute; top:0; left:0;" id="slider">
... tu kod HTML
</div>
</div>
Jak wyznaczyć szerokość elementu slider?
document.getElementById("slider").offsetWidth zwraca 700px, co jest
bzdurą. Element slider jest znacznie szerszy.
--
Pozdrawiam
Marek
-
2. Data: 2013-05-07 22:47:24
Temat: Re: Jak pobrać szerokość elementu?
Od: Wojtek Gapiński <w...@w...I.TO.TEZ.pl>
Dnia 07-05-2013 09:20 Marek napisał:
> Witam,
>
> Mamy strukturę:
>
> <div style="width:700px; height:100px; position:relative overflow:hidden">
> <div style="position:absolute; top:0; left:0;" id="slider">
> ... tu kod HTML
> </div>
> </div>
>
> Jak wyznaczyć szerokość elementu slider?
> document.getElementById("slider").offsetWidth zwraca 700px, co jest
> bzdurą. Element slider jest znacznie szerszy.
>
Jeśli nigdzie nie ustawiasz innej szerokości dla #slider, to wcale nie
jest to bzdurą - div zdaje się przejmuje szerokość rodzica.
--
Wojtek Gapiński
http://jwmprojekt.pl
-
3. Data: 2013-05-07 23:13:51
Temat: Re: Jak pobrać szerokość elementu?
Od: Marek <p...@s...com>
W dniu 2013-05-07 22:47, Wojtek Gapiński pisze:
> Jeśli nigdzie nie ustawiasz innej szerokości dla #slider, to wcale nie
> jest to bzdurą - div zdaje się przejmuje szerokość rodzica.
No dobrze, ale gdy wyłączę overflow:hidden, to ewidentnie widać, że
szerokość obiektu jest znacznie szarsza niż rodzic a mimo to zwracana
szerokość jest taka jak rodzica.
--
Pozdrawiam
Marek
-
4. Data: 2013-05-08 07:38:33
Temat: Re: Jak pobrać szerokość elementu?
Od: Wojtek Gapiński <w...@w...I.TO.TEZ.pl>
Dnia 07-05-2013 23:13 Marek napisał:
>
> No dobrze, ale gdy wyłączę overflow:hidden, to ewidentnie widać, że
> szerokość obiektu jest znacznie szarsza niż rodzic a mimo to zwracana
> szerokość jest taka jak rodzica.
>
IMHO JS zwraca Ci taką szerokość #slider, jaka wynika ze stylów. A to,
że zawartość się nie mieści i przez to ten <div> jest szerszy, to już
inna sprawa.
Może spróbuj ustawić dla #slider szerokość na auto.
--
Wojtek Gapiński
http://jwmprojekt.pl
-
5. Data: 2013-05-08 19:55:27
Temat: Re: Jak pobrać szerokość elementu?
Od: Marek <p...@s...com>
W dniu 2013-05-08 07:38, Wojtek Gapiński pisze:
> IMHO JS zwraca Ci taką szerokość #slider, jaka wynika ze stylów. A to,
> że zawartość się nie mieści i przez to ten <div> jest szerszy, to już
> inna sprawa.
> Może spróbuj ustawić dla #slider szerokość na auto.
>
Chyba znalazłem rozwiązanie. Wystarczy odczytać scrollWidth. :-D Ta
właściwość zawiera całą szerokość elementu jak na potrzeby scrollowania.
Uffff.
--
Pozdrawiam
Marek
-
6. Data: 2013-05-09 16:39:19
Temat: Re: Jak pobrać szerokość elementu?
Od: Paweł Piskorz <n...@p...nie.invalid>
W dniu 2013-05-07 22:47, Wojtek Gapiński pisze:
> Dnia 07-05-2013 09:20 Marek napisał:
>> Witam,
>>
>> Mamy strukturę:
>>
>> <div style="width:700px; height:100px; position:relative overflow:hidden">
>> <div style="position:absolute; top:0; left:0;" id="slider">
>> ... tu kod HTML
>> </div>
>> </div>
>>
>> Jak wyznaczyć szerokość elementu slider?
>> document.getElementById("slider").offsetWidth zwraca 700px, co jest
>> bzdurą. Element slider jest znacznie szerszy.
>>
>
> Jeśli nigdzie nie ustawiasz innej szerokości dla #slider, to wcale nie
> jest to bzdurą - div zdaje się przejmuje szerokość rodzica.
Zauważ że #slider ma position:absolute; - w takim przypadku jego
szerokość jest dopasowywana do zawartości, a nie do rodzica.
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}