Jak znaleźć bieżącą szerokość <div>
w sposób zgodny z różnymi przeglądarkami bez przy użyciu biblioteki takiej jak jQuery?Jak znaleźć szerokość elementu div przy użyciu surowego kodu JavaScript?
Odpowiedz
document.getElementById("mydiv").offsetWidth
To lub "cientWidth", chociaż nie znam prawdziwej różnicy. – JCOC611
'offsetWidth' zawiera szerokość obramowania,' clientWidth' nie. – lincolnk
Gdy myDiv nie miał reguły CSS, ale w tagu zdefiniowano "width" i "height", offsetWidth zwrócił szerokość rodzica. Nie było problemu Właśnie dodałem regułę CSS i działało dobrze. – rob
Można również wyszukiwać za pomocą DOM className. Na przykład:
document.getElementsByClassName("myDiv")
Spowoduje to wyświetlenie tablicy. Jeśli jest jedna szczególna właściwość jesteś zainteresowany. Na przykład:
var divWidth = document.getElementsByClassName("myDiv")[0].clientWidth;
divWidth
teraz będzie równa szerokości pierwszego elementu div w swojej tablicy.
Można użyć clientWidth
lub offsetWidth
Mozilla developer network reference
To byłoby jak:
document.getElementById("yourDiv").clientWidth; // returns number, like 728
lub szerokości Granice:
document.getElementById("yourDiv").offsetWidth; // 728 + borders width
rozmowy poniżej metody na znacznika div lub ciała onclick =” pokaż (wydarzenie); " Funkcja pokazu (event) {
var x = event.clientX;
var y = event.clientY;
var ele = document.getElementById("tt");
var width = ele.offsetWidth;
var height = ele.offsetHeight;
var half=(width/2);
if(x>half)
{
// alert('right click');
gallery.next();
}
else
{
// alert('left click');
gallery.prev();
}
}
Wszystkie odpowiedzi są w porządku, ale nadal chce dać jakieś inne alternatywy, które mogą pracować.
Jeśli szukasz przypisanej szerokości (ignorowanie dopełnienia, marginesu itd.), Możesz użyć.
getComputedStyle(element).width; //returns value in px like "727.7px"
getComputedStyle umożliwia dostęp do wszystkich stylów tych elementów. Na przykład: padding, paddingLeft, margin, border-top-left-round i tak dalej.
To nie zadziała w IE 6-8. –
W rzeczywistości nie trzeba używać document.getElementById("mydiv")
.
można po prostu użyć identyfikator div, jak:
var w = mydiv.clientWidth;
lub
var w = mydiv.offsetWidth;
itp
- 1. Jak uzyskać szerokość przeglądarki przy użyciu kodu JavaScript?
- 2. coraz szerokość elementu div
- 3. Wykryj kliknięcie poza div przy użyciu javascript
- 4. Jak znaleźć div wewnątrz innego div przy użyciu HtmlUnit?
- 5. Jak uzyskać wartość div przy użyciu javascript
- 6. Wstawianie kodu HTML do elementu div
- 7. Lewy przesunięcie elementu liniowego przy użyciu jQuery
- 8. Jak mogę znaleźć kod JavaScript, który ustawia styl wstawiania elementu?
- 9. tworzenia dynamicznych div przy użyciu javascript
- 10. Jak mogę znaleźć zawartość elementu div przy użyciu modułów HTML Perla, jeśli znam wewnątrz niego znacznik?
- 11. Szerokość elementu rozliczającego tryb dziwactwa w javascript?
- 12. usuwanie elementu div dołączonego przy użyciu metody append
- 13. Jak znaleźć element div wewnątrz elementu iframe?
- 14. Aktualizacja obiektu JSON przy użyciu kodu JavaScript
- 15. Pobierz plik przy użyciu kodu JavaScript
- 16. Wiele żądań SOAP przy użyciu kodu JavaScript
- 17. Odczytywanie pliku XML przy użyciu kodu JavaScript z lokalnego folderu
- 18. Wykryj obrazy 404 przy użyciu kodu Javascript
- 19. Ocena javascript przy użyciu kodu java
- 20. Czytanie identyfikatora sesji przy użyciu kodu JavaScript
- 21. Wyrównanie pionowe elementu div przy użyciu semantycznego interfejsu użytkownika
- 22. jak uzyskać węzeł podrzędny w div przy użyciu javascript
- 23. Dodaj styl inline przy użyciu JavaScript
- 24. JavaScript nie może znaleźć elementu według identyfikatora?
- 25. Przesuwanie elementu div poza ekranem przy użyciu jQuery
- 26. Jquery, znać szerokość i wysokość elementu div z paskiem przewijania
- 27. Get szerokość obramowania z div zwykły javascript
- 28. Jak znaleźć JavaScript zmieniający styl elementu?
- 29. Jak znaleźć różnicę między dwoma datami przy użyciu Javascript
- 30. Drukowanie zawartości div przy użyciu Jquery
+1 dla "bez komentarza" jQuery :) – Zlatko
Możliwy duplikat [ustaleń offsetWidth , clientWidth, scrollWidth i -Height, odpowiednio] (http://stackoverflow.com/questions/21064101/interstanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively) (który, istotnie, został zapytany znacznie później, ale nadal ma ** znacznie bardziej rozbudowaną odpowiedź **). – Keelan