2012-05-29 8 views
8

W LESS Użyłem następującego kodu, aby uzyskać wysokość okna.przy użyciu wartości obliczanych javascript w mniejszej ilości:

@winheight:`$(window).height()` 

Co Dostaję jest liczbą, ale kiedy dodać px tam na jednostkę,

height: @winheight px; 

będzie skompilować coś podobnego height: 910 px.

Próbowałem mieć jednostkę również po ocenie javascript. ale mam ten sam rezultat.

@winheight:`$(window).height()`px 
height: @winheight; 
... 

height:910 px; 

Jak mogę uzyskać tam height:910px (bez odstępu między liczbą a jednostką)?


EDIT:

Jak dla czterech pierwszych wyników, tworzy ciąg height:"910px", który nie czyni poprawnie.

Odpowiedz

7

Wystarczy użyć string interpolation a następnie escape z łańcucha przy użyciu ~:

@winheight:`$(window).height()`; 

height: ~"@{winheight}px"; 
+0

Mam ten błąd w NodeJs - Błąd oceny JavaScript: "ReferenceError: $ nie jest zdefiniowany" – Ampersanda

+0

@Mochamad Lucky Prada można ocenić tylko JavaScript w LESS, który jest skompilowany po stronie klienta – Paulpro

+0

Czy to oznacza, że ​​LESS nie zdobyć jQuery? – Ampersanda

0

spróbować

@winheight:`$(window).height()+"px"` 
height: @winheight; 

ponieważ .height() powraca tylko wartość piksela jednostka mniej.
alternatywnie użyć następującego

@winheight:`$(window).css("height")` 
    height: @winheight; 

.css ("wysokość") zwraca wartość z jednostkami

+0

ta zwraca wartość ciągu. ale nie jest renderowany w przeglądarce 'height:" 910px "' – tiran

+0

@tiran raz sprawdź moją zaktualizowaną odpowiedź, proszę dać mi znać, czy działa czy nie – Valli69

+0

Mam błąd po wykonaniu kodu w przeglądarce. 'TypeError: Nie można odczytać właściwości 'defaultView' of undefined' – tiran

0

Co o tym:

@winheight:`$(window).height().toString() + "px"` 
0

To może działać w zależności od MNIEJ który Nie wiem dobrze.

Czytanie dokumentów jest to możliwe.

@winheight:0px + `$(window).height()` 
+0

to zwraca wartość ciągu. ale nie jest renderowany w wysokości przeglądarki: "910px" – tiran

+0

Edytowałem swoją odpowiedź po przeczytaniu dokumentów.Czy możesz skonfigurować jsFiddle? – HBP

1

podaj ten kod i sprawdź, co masz.

@winheight:0px + `$(window).height()' 
+0

Odpowiedz copycat ... – Christoph

+0

@ Christoph: Rushi podniósł tę odpowiedź, podczas gdy ja redagowałem swoje kopie, więc nie było potrzeby kopiowania – HBP

+0

moje złe ... nie wahaj się edytować odpowiedzi, więc mogę usunąć -1. – Christoph

1

Take .css(height) zamiast .height() - to zwraca wartość + urządzenia.

Powiązane problemy