Я хочу, чтобы элемент 'с php был бы применен addClass' on ' - PullRequest
1 голос
/ 15 марта 2020

Я супер новичок в PHP, поэтому я все еще пытаюсь освоить его.

Мне нужна такая ситуация: если щелкнуть каждый a, цвет фона заполняется так что пользователь может знать, на что нажали. Для этого я обычно использовал jQuery, и он работал каждый раз.

Однако, он не работал, так как я положил "index.php?lang=en" в href, но когда я изменил "index.php?lang=en" на "#", он работает, но языки не меняются.

Пожалуйста, проверьте мой код и дайте мне знать, в чем проблема.

index. php

<?php 
  include "config.php";
?>

  <header> 
   <div class="header-con">          
      <nav class="lang">
        <a href="index.php?lang=en" class="lang_a">en</a>
        <a href="index.php?lang=ko" class="lang_a">ko</a>
      </nav>      
    </div>    
   </header>

jQuery

  (function($){
    $(function(){    
      var $header = $('header'),
          $lang_a = $header.find('.lang a');    

          $lang_a.on('click', function(){        
               $lang_a.removeClass();
               $(this).addClass('on');
        });       
    });
  })(jQuery);

CSS

.lang a {
   padding: 0 6px;    
   font-weight: normal;
   transition: all .3s
 }
 .lang a:hover,
 .lang a.on {
   background-color: #191970;
   color: #eee
 }

config. php

<?php
session_start();

if (!isset($_SESSION['lang']))
    $_SESSION['lang'] = "en";
else if (isset($_GET['lang']) && $_SESSION['lang'] != $_GET['lang'] && !empty($_GET['lang'])) {
    if ($_GET['lang'] == "en")
        $_SESSION['lang'] = "en";
    else if ($_GET['lang'] == "ko")
        $_SESSION['lang'] = "ko";
}

require_once "languages/".$_SESSION['lang'].".php"; 
?>

А вот файлы языков.

ru . php

<?php 

    $lang = array(

        "sin" => "A",
        "sin_title" => "B",
        "sin_con" => "C"

    );

?>

ко. php

<?php 

    $lang = array(

        "sin" => "가",
        "sin_title" => "나",
        "sin_con" => "다"

    );

?>

1 Ответ

1 голос
/ 15 марта 2020

Вы хотите обновить имя класса ссылки (элемент 'a'), верно?

Вы можете сделать это, получив текущий сеанс и сделав что-то вроде этого: D

<?php include "config.php"; ?>
<header>
  <div class="header-con">
    <nav class="lang">
      <a href="index.php?lang=en" class="lang_a <?php echo $_SESSION['lang']==='en' ? 'on' : ''; ?>">en</a>
      <a href="index.php?lang=ko" class="lang_a <?php echo $_SESSION['lang']==='ko' ? 'on' : ''; ?>">ko</a>
    </nav>
  </div>
</header>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...