Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Problem z dodaniem znaku procentu do "licznika" umiejętności


Kamciu ;v

Pytanie

Opublikowano

Witam, mam taki licznik (tu podaje przykład):

http://scr.hu/2rg6/8ahdb

Kawałek kodu:

  <?php
  $counters = '';
  for($c=1;$c<=4;$c++){
		 $title    = onetone_option( "counter_title_".$c."_".$i );
		 $number   = onetone_option( "counter_number_".$c."_".$i );
		 
		 if( $title !='' || $number!='' )
		   $counters .= '<div class="col-md-3">
			  <div class="magee-counter-box">
				<div class="counter"><span class="counter-num">'.absint($number).'</span></div>
				<h3 class="counter-bottom_title"  style="color:'.$color.'">'.esc_attr($title).'</h3>
			  </div>
			</div>';
	
     }
	 if( $counters !='' )
	   echo '<div class="row">'.$counters.'</div>';
	 
	 ?>

I chce dodać po animacji obliczania w tym wypadku umiejętności prosty znak procenta (%)...

Jako, że tak z nudów nie raz robię sobie strony to proszę o pomoc...

Jakby to miało pomóc to szablon jaki tu używam to Onetone.

Pozdrawiam.

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano
Dnia 4.07.2017 o 00:02, MrCh4nk napisał:

To niech sobie ostyluje .counter a w spana wrzuci liczbe.

Chyba nie za bardzo wiesz o czym mówisz. A co jeżeli span jako tag jest ostylowany lub coś dziedziczy? 

14 godzin temu, Kamciu ;v napisał:

Niestety - jedna sekunda i jest procent, chwilę potem znowu wyświetla się błąd NaN

Oczywiście, że wyświetla błąd. Najpierw masz liczbę, później masz ciąg znaków z którym Twój skrypt sobie nie radzi, bo to już nie jest liczba. :) Problem nie jest w tym, aby wstawić w tagi JS'a, ale aby odpowiednio parsować pobrane wartości. Pokaż JS'a albo całą stronę. Sprawa do załatwienia w minutę.

Opublikowano
Dnia 3.07.2017 o 02:28, .Yoshiaki napisał:

@Kamciu ;vA może ASCII pomoże?

Jeśli nie, to umieść znak % poza znacznikiem.

Wiem, że ZASADY są po to, żeby je łamać, ale, dlaczego PHP :D ? Taki szablon?


<div class="counter"><span class="counter-num">'.absint($number).'&#37;</span></div>
	

Niestety - jedna sekunda i jest procent, chwilę potem znowu wyświetla się błąd NaN

Opublikowano
12 godzin temu, .Yoshiaki napisał:

@Kamciu ;v Do czego Ci tam absint? nie możesz zmienić typu zmiennej na stringa i tam dodać %?  number + '%' to daje NaN (Not a Number) jak już abs0lw3nt wspomniał, musisz więc znaleźć kompromis - albo cała zawartość spana to typ string albo dodajesz drugiego spana z % :D

//edit


<div class="counter"><span class="counter-num">'.settype(absint($number), "string").'%</span></div>

Niestety to co napisałeś nie działa - dalej jest ten błąd...

Opublikowano
Dnia 1.07.2017 o 22:02, MrCh4nk napisał:

Nie możesz tego znaku po prostu wpisać za spanem?

Słaby pomysł, w końcu span nie po to jest ostylowany, aby wyrzucać % po za niego.

Opublikowano

po prostu wpisz % przed znacznikiem zamykającym

Cytat

<?php
  $counters = '';
  for($c=1;$c<=4;$c++){
		 $title    = onetone_option( "counter_title_".$c."_".$i );
		 $number   = onetone_option( "counter_number_".$c."_".$i );
		 
		 if( $title !='' || $number!='' )
		   $counters .= '<div class="col-md-3">
			  <div class="magee-counter-box">
				<div class="counter"><span class="counter-num">'.absint($number).'%</span></div>
				<h3 class="counter-bottom_title"  style="color:'.$color.'">'.esc_attr($title).'</h3>
			  </div>
			</div>';
	
     }
	 if( $counters !='' )
	   echo '<div class="row">'.$counters.'</div>';
	 
	 ?>

 

Opublikowano
2 godziny temu, abs0lw3nt napisał:

Słaby pomysł, w końcu span nie po to jest ostylowany, aby wyrzucać % po za niego.

To niech sobie ostyluje .counter a w spana wrzuci liczbe.

Opublikowano

@Kamciu ;v Do czego Ci tam absint? nie możesz zmienić typu zmiennej na stringa i tam dodać %?  number + '%' to daje NaN (Not a Number) jak już abs0lw3nt wspomniał, musisz więc znaleźć kompromis - albo cała zawartość spana to typ string albo dodajesz drugiego spana z % :D

//edit

<div class="counter"><span class="counter-num">'.settype(absint($number), "string").'%</span></div>

sygna.png

Opublikowano

@Kamciu ;vA może ASCII pomoże?

Jeśli nie, to umieść znak % poza znacznikiem.

Wiem, że ZASADY są po to, żeby je łamać, ale, dlaczego PHP :D ? Taki szablon?

<div class="counter"><span class="counter-num">'.absint($number).'&#37;</span></div>
	

sygna.png

Opublikowano

I poprawnie się dzieje. Liczba z % to już nie liczba, a Ty gdzieś używasz JS'a pewnie do animacji (tak wnioskuje z Twojego wpisu). Zamiast w PHP doklej sobie procent w JS.

Opublikowano
36 minut temu, abs0lw3nt napisał:

I poprawnie się dzieje. Liczba z % to już nie liczba, a Ty gdzieś używasz JS'a pewnie do animacji (tak wnioskuje z Twojego wpisu). Zamiast w PHP doklej sobie procent w JS.

Dałbyś mi jakieś wskazówki gdzie dokładnie mam to dokleić?

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...