اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

أريد إنشاء معرض صور يتنقل عبر الصور من خلال الأزرار ووضعت الكود من موقع bootstrap ولكن عند الضغط على الأزرار لا يمكن التنقل بين الصور 

<div id="gallery1">
            <div id="#carousel" class="carousel slide" data-ride="carousel">
                <ol class="carousel-indicators">
                  <li data-target="#carousel" data-slide-to="0" class="active"></li>
                  <li data-target="#carousel" data-slide-to="1"></li>
                  <li data-target="#carousel" data-slide-to="2"></li>
                </ol>
                <div class="carousel-inner">
                  <div class="carousel-item active">
                    <img class="d-block w-75" src="./images/first round/fr-1.jpg" alt="First slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-2.jpg" alt="Second slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-3.jpg" alt="Third slide">
                  </div>
                </div>
                <a class="carousel-control-prev" href="#carousel" role="button" data-slide="prev">
                  <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                  <span class="sr-only">Previous</span>
                </a>
                <a class="carousel-control-next" href="#carousel" role="button" data-slide="next">
                  <span class="carousel-control-next-icon" aria-hidden="true"></span>
                  <span class="sr-only">Next</span>
                </a>
              </div>
        </div>

ولقد أضفت كود في ملف الجافا سكربت 

$(document).ready(function () {
    $('.carousel').carousel({
        interval: 2000
    });
});

هل هذا الكود صحيح؟ علما أن الصور تتنقل تلقائيا ولكن أزرار التنقل لا تعمل ، نسخة "bootstrap": "^5.1.3", 

Recommended Posts

  • 0
نشر

يبدو أنك قمت بإنشاء carousel  بشكل خاطئ ، الطريقة الصحيحة لإنشاء carousel  كالتالي 

أولا في html نقوم بإضافة أكواد carousel 

<div id="gallery1">
            <div id="#carousel" class="carousel slide" data-ride="carousel">
                <ol class="carousel-indicators">
                  <li data-target="#carousel" data-slide-to="0" class="active"></li>
                  <li data-target="#carousel" data-slide-to="1"></li>
                  <li data-target="#carousel" data-slide-to="2"></li>
                </ol>
                <div class="carousel-inner">
                  <div class="carousel-item active">
                    <img class="d-block w-75" src="./images/first round/fr-1.jpg" alt="First slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-2.jpg" alt="Second slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-3.jpg" alt="Third slide">
                  </div>
                </div>
                <a class="carousel-control-prev" href="#carousel" role="button" data-slide="prev">
                  <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                  <span class="sr-only">Previous</span>
                </a>
                <a class="carousel-control-next" href="#carousel" role="button" data-slide="next">
                  <span class="carousel-control-next-icon" aria-hidden="true"></span>
                  <span class="sr-only">Next</span>
                </a>
              </div>
        </div>

ثانياً بعد إضافة الأكواد يجب التأكد من تضمين مكتبة bootstrap , jquery بهذا الشكل 

css

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

js ، ملاحظة تضمين jquery يجب أن يكون قبل تضمين bootstrap

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>

ثالثاً في ملف Javascript تقوم بإضافة الأكواد التالية ،و يجب الانتباه بدون تضمين jquery لن تعمل أكود Javascript

$(document).ready(function () {
    $('.carousel').carousel({
        interval: 2000
    });
});

 

  • 0
نشر
بتاريخ 3 ساعات قال أسامة زيادة:

يبدو أنك قمت بإنشاء carousel  بشكل خاطئ ، الطريقة الصحيحة لإنشاء carousel  كالتالي 

أولا في html نقوم بإضافة أكواد carousel 


<div id="gallery1">
            <div id="#carousel" class="carousel slide" data-ride="carousel">
                <ol class="carousel-indicators">
                  <li data-target="#carousel" data-slide-to="0" class="active"></li>
                  <li data-target="#carousel" data-slide-to="1"></li>
                  <li data-target="#carousel" data-slide-to="2"></li>
                </ol>
                <div class="carousel-inner">
                  <div class="carousel-item active">
                    <img class="d-block w-75" src="./images/first round/fr-1.jpg" alt="First slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-2.jpg" alt="Second slide">
                  </div>
                  <div class="carousel-item">
                    <img class="d-block w-100" src="./images/first round/fr-3.jpg" alt="Third slide">
                  </div>
                </div>
                <a class="carousel-control-prev" href="#carousel" role="button" data-slide="prev">
                  <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                  <span class="sr-only">Previous</span>
                </a>
                <a class="carousel-control-next" href="#carousel" role="button" data-slide="next">
                  <span class="carousel-control-next-icon" aria-hidden="true"></span>
                  <span class="sr-only">Next</span>
                </a>
              </div>
        </div>

ثانياً بعد إضافة الأكواد يجب التأكد من تضمين مكتبة bootstrap , jquery بهذا الشكل 

css


<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

js ، ملاحظة تضمين jquery يجب أن يكون قبل تضمين bootstrap


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>

ثالثاً في ملف Javascript تقوم بإضافة الأكواد التالية ،و يجب الانتباه بدون تضمين jquery لن تعمل أكود Javascript


$(document).ready(function () {
    $('.carousel').carousel({
        interval: 2000
    });
});

 

أنا حملت jquery عن طريق npm ,وضمنتها في ملف index.js

import 'jquery/dist/jquery.min.js';

import 'bootstrap/dist/css/Bootstrap.min.css';

import 'bootstrap/dist/js/bootstrap.min.js';

import "./css/style.css";

import './scss/style.scss';

ثم في ملف index.html وضعت رابط التضمين :

   <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

لم تعمل الأزرار ، هل jquery هي المسؤولة عن الأزرار أم يكفي كود bootstrap ?

 

  • 0
نشر
بتاريخ 16 ساعات قال Mohammad sayed ahmad:

أنا حملت jquery عن طريق npm ,وضمنتها في ملف index.js

import 'jquery/dist/jquery.min.js';

import 'bootstrap/dist/css/Bootstrap.min.css';

import 'bootstrap/dist/js/bootstrap.min.js';

import "./css/style.css";

import './scss/style.scss';

ثم في ملف index.html وضعت رابط التضمين :

   <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

لم تعمل الأزرار ، هل jquery هي المسؤولة عن الأزرار أم يكفي كود bootstrap ?

 

في نسخة bootstrap 5 وبعدها تم الأستغناء عن jquery بالكامل .

لذا لاداعي لاستخدام مكتبة jquery او الكود الخاص بها .

اكتفي بتضمين التالي داخل ملف ال html 

داخل ال head ضع 

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

وداخل ال body في نهايتها ضع 

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>

فقط هكذا وسيمكنك استخدام جميع مكونات بوتستراب من دون jquery

  • 0
نشر
بتاريخ 11 ساعات قال Mohammad sayed ahmad:

أنا حملت jquery عن طريق npm ,وضمنتها في ملف index.js

import 'jquery/dist/jquery.min.js';

import 'bootstrap/dist/css/Bootstrap.min.css';

import 'bootstrap/dist/js/bootstrap.min.js';

import "./css/style.css";

import './scss/style.scss';

ثم في ملف index.html وضعت رابط التضمين :

   <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

لم تعمل الأزرار ، هل jquery هي المسؤولة عن الأزرار أم يكفي كود bootstrap ?

 

أنا اشتغل لدي carousel بعد تضمين jquery في الملف html ، بعد اتباع الخطوات التي عرضتها لك في الأعلى ، ما الأخطاء التي تظهر لديك في console حتى أستطيع مساعدتك ، يمكنك من فتح console  من خلال الضغط بالزر الأيمن للفأرة على أحد عناصر صفحة html و وسوف تظهر لديك قائمة ، في نهاية القائمة اختار (فحص) وبعدها سوف تفتح لديك في أسفل الصفحة أو بجانب الصفحة اضغط على تبويبcarousel  وسوف تظهر لك الأخطاء .

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...