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

معرض صور carousel عن طريق bootstrap

محمد سيد أحمد4

السؤال

السلام عليكم

أريد إنشاء معرض صور يتنقل عبر الصور من خلال الأزرار ووضعت الكود من موقع 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...