شرح اضافة قائمة علوية متجاوبة لمدونات بلوجر

احمد محمود

بسم الله الرحمن الرحيم

أهلاً وسهلاً بزوار بلوجر فيومي!

في المقال ده ، هنتكلم عن كيفية إنشاء قائمة علوية متجاوبة تتضمن قائمة جانبية وقوائم منسدله وزر للترجمه وتكبير الشاشه باستخدام HTML وCSS وجافا سكريبت.  ومكتبات  font-awesome   و google translate   يمكنك الاطلاع ايضا على كيفية تضمين مكتبة خارجية في مدونتك من خلال الرابط التالي: كيفية تضمين مكتبة خارجية.





لو حابب تجرب القائمة قبل تضمينها ممكن تجربها عن طريق اداة تحرير ومعاينة الاكواد هنا 

الخطوات:

1. هيكل القائمة العلوية والقائمة الجانبية:

أولاً، استخدم الكود التالي لإنشاء القائمة العلوية وقائمة جانبية. يجب وضع هذا الكود داخل وسم <body> في قالب بلوجر:

     
<nav class="navbar">
    <div class="navbar-title">
        <h1>عنوان القائمة</h1>
    </div>
    <ul class="navbar-nav">
        <li class="nav-item">
            <a class="nav-link" href="#" onclick="blfymOpenModal('languageModal')"><i class="fas fa-globe"></i></a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#" onclick="blfymToggleFullscreen()"><i class="fas fa-expand"></i></a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#" onclick="blfymOpenNav()"><i class="fas fa-bars"></i></a>
        </li>
    </ul>
</nav>

<div id="languageModal" class="modal">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">اختيار اللغة</h5>
                <span class="close" onclick="blfymCloseModal('languageModal')">×</span>
            </div>
            <div class="modal-body">
                <div id="google_translate_element"></div>
            </div>
        </div>
    </div>
</div>

<div id="mySidebar" class="sidebar">
    <a href="javascript:void(0)" class="closebtn" onclick="blfymCloseNav()">×</a>
    <a href="#">رابط 1</a>
    <a href="#">رابط 2</a>
    <a href="#">رابط 3</a>
    <a href="javascript:void(0)" class="dropdown-btn" onclick="blfymToggleDropdown(this)">قائمة منسدلة 1</a>
    <ul>
        <li><a href="#">عنصر 1</a></li>
        <li><a href="#">عنصر 2</a></li>
    </ul>
    <a href="javascript:void(0)" class="dropdown-btn" onclick="blfymToggleDropdown(this)">قائمة منسدلة 2</a>
    <ul>
        <li><a href="#">عنصر 3</a></li>
        <li><a href="#">عنصر 4</a></li>
    </ul>
</div>
 

2. إضافة CSS لتصميم القوائم:

أضف الكود التالي إلى وسم <b:skin> في قالب بلوجر لتحسين تصميم القوائم:

     
/* CSS للقائمة العلوية */
.navbar {
    background: linear-gradient(45deg, #0099ff, #33ccff);
    color: white;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar-title {
    flex-grow: 1;
    text-align: center;
}

.navbar-title h1 {
    margin: 0;
    font-size: 20px;
}

.navbar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.navbar-nav .nav-item {
    margin-right: 15px;
}

.navbar-nav .nav-item .nav-link {
    color: white;
    text-decoration: none;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.2);
    transition: background-color 0.3s;
}

.navbar-nav .nav-item .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.4);
}

.sidebar {
    height: 100%;
    width: 250px;
    position: fixed;
    top: 0;
    right: -250px;
    background-color: #333;
    transition: 0.3s;
    overflow-x: hidden;
    padding-top: 60px;
}

.sidebar a {
    padding: 10px 15px;
    text-decoration: none;
    font-size: 18px;
    color: #f1f1f1;
    display: block;
    transition: 0.3s;
}

.sidebar a:hover {
    background-color: #575757;
}

.sidebar .closebtn {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 30px;
    margin-right: 20px;
}

.sidebar ul {
    display: none;
    list-style-type: none;
    padding-left: 20px;
}

.sidebar a.active + ul {
    display: block;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-dialog {
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    background-color: white;
}

.modal-header, .modal-body {
    padding: 10px;
}

.modal-header {
    border-bottom: 1px solid #888;
}

.modal-title {
    font-size: 20px;
}

.close {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    float: right;
    cursor: pointer;
}

.close:hover, .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 768px) {
    .navbar-nav {
        flex-direction: column;
        display: none;
    }
    
    .navbar-nav.show {
        display: flex;
    }
    
    .navbar-toggler {
        display: block;
        cursor: pointer;
    }
}
 

3. إضافة جافا سكريبت لتفاعل القوائم:

استخدم الكود التالي في ملف JavaScript لتفعيل القائمة العلوية المتجاوبة والقائمة الجانبية. يجب وضع هذا الكود في قسم <head> أو في ملف JavaScript مرتبط:

     
<script>
function blfymToggleFullscreen() {
    if (!document.fullscreenElement) {
        document.documentElement.requestFullscreen();
    } else {
        if (document.exitFullscreen) {
            document.exitFullscreen();
        }
    }
}

function blfymOpenNav() {
    document.getElementById("mySidebar").style.right = "0";
}

function blfymCloseNav() {
    document.getElementById("mySidebar").style.right = "-250px";
}

function blfymOpenModal(modalId) {
    document.getElementById(modalId).style.display = "block";
}

function blfymCloseModal(modalId) {
  document.getElementById(modalId).style.display = "none";
}

function blfymToggleDropdown(element) {
    var dropdown = element.nextElementSibling;
    if (dropdown.style.display === "block") {
        dropdown.style.display = "none";
    } else {
        dropdown.style.display = "block";
    }
}
</script>

4. اضافة المكتبات الازمة لتشغيل القائمة

يجب اضافة هذه المكتبات للتاكد من ان الترجمه والايقونات ستعمل بشكل صحيح

font-awesome & google translate

توضع الاكواد التاليه فوق الوسم

<head>

 
        <script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({pageLanguage: 'ar'}, 'google_translate_element');
    }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
        

باتباع الخطوات أعلاه، يمكنك إنشاء قائمة علوية متجاوبة مع قائمة جانبية باستخدام HTML وCSS وجافا سكريبت. هذا سيساعدك في تحسين تجربة المستخدم على موقعك ويجعل القوائم أكثر تفاعلية.

إرسال تعليق

شاهد أيضاً :-
Cookie Consent
تعريف الارتباط

نستخدم ملفات تعريف الارتباط لضمان حصولك على أفضل تجربة.

Oops!
يبدو أن هناك مشكلة في اتصالك بالإنترنت. يرجى الاتصال بالإنترنت والمحاولة مرة أخرى.
AdBlock Detected!
لقد اكتشفنا أنك تستخدم إضافة حظر الإعلانات في متصفحك.
يتم استخدام الإيرادات التي نحصل عليها من الإعلانات لإدارة هذا الموقع، لذا نرجو منك إضافة موقعنا إلى القائمة البيضاء في إضافة حظر الإعلانات الخاصة بك.
Site is Blocked
Sorry! This site is not available in your country.