javascript — если [‘Name’] длиннее 15 символов, измените размер шрифта

Я работаю с футболистами, но такие игроки, как Oxlade-Chamberlain, слишком велики, чтобы показывать их на карте, поэтому я хочу изменить размер шрифта, если в нем более 15 символов. Я использую это

<?php
$sql = "SELECT * FROM `15players` WHERE `id`=" . $row['id'] . "";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$row = mysql_fetch_array($result);
if($row['Common_Name'] === NULL)
echo  $row['Last_Name'];
else
echo $row['Common_Name'];
if ($row['Common_Name'] > 14 )
?>

Поэтому я хочу изменить if ($row['Common_Name'] > 14 ) на что-то, что может изменить мой размер шрифта, когда он будет большим (более 14 символов)

Вроде Швайнштайгер подходит идеально (http://jterweele.informatica.bc-enschede.nl/speler.php?id=823) но Оксладе-Чемберлен все портит (http://jterweele.informatica.bc-enschede.nl/speler.php?id=6997)

РЕДАКТИРОВАТЬ: я нашел ответ.

0

Решение

я бы предложил обернуть <span> вокруг текста, а затем создать класс

if($row['Common_Name'] === NULL)
{
echo $row['Last_Name'];
}
else
{
// since you are outputting $row['Common_Name'] to the page i am assuming
// it's a string and if you want to check the length you want strlen
if (strlen($row['Common_Name']) > 14 )
{
echo "<span class='smaller'>".$row['Common_Name']."</span>";
}
else
{
echo $row['Common_Name'];
}
}

приведенный выше код должен служить вашей цели, но если вы хотите улучшить его, вы можете сделать что-то вроде этого

$name = "";
if($row['Common_Name'] === NULL)
{
$name = $row['Last_Name'];
}
else
{
$name = $row['Common_Name'];
}

echo "<span class='";
$nameLen = strlen($name);
switch (true)
{
case $nameLen > 14:
echo "smaller";
break;
case $nameLen > 20:
echo "evenSmaller";
break;
default:
echo "normal";
}
echo "'>".$name."</span>";

с этим кодом независимо от того, если $row['Last_Name'], $row['Common_Name'] или что бы то ни было выбрано (поскольку сами фамилии могут быть очень длинными, посмотрите на «Аппу» в «Симпсонах»), вы можете настроить размер для нескольких ситуаций.

причина, по которой я храню длину в переменной — по двум причинам

  1. если вам нужно манипулировать значением длины из-за особых ситуаций (т. е. если фамилия была McDonald и прописные буквы должны отображаться в два раза больше обычных букв, и вы хотите добавить +1 к длине для каждой заглавной буквы)

  2. редкое событие, где strlen() по какой-то причине стал устаревшим, и вам нужно заменить его на новую функцию или даже если вы хотите использовать свою собственную strlen() функция, с этим кодом вам нужно только изменить его в одном месте

3

Другие решения

Вы можете сделать это с помощью jQuery:

1. Прежде всего, включите библиотеку jQuery:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

2. Во-вторых, используйте этот код:

<?php $sql = "SELECT * FROM `15players` WHERE `id`=" . $row['id'] . "";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
$row = mysql_fetch_array($result);
if($row['Common_Name'] === NULL)
echo  $row['Last_Name'];
else
echo $row['Common_Name'];
?>

<script type="text/javascript">
$(document).ready(function(){
_name = "<?php echo $row['Common_Name'] ?>";

if (_name.length > 14) {
$('body').css('font-size', '12px');
};
});
</script>
-1

По вопросам рекламы [email protected]