Mysql
 sql >> база данни >  >> RDS >> Mysql

Динамично зареждане на ajax съдържание във fancybox от MySQL база данни

Това, което можете да направите, е да вземете идващите (свързани) елементи от вашата база данни и да ги съхраните в json променлива като :

var databaseResponse = [{
    href: "path/image05.jpg", // 4 are visible on page so
    type: "image",
    title: "Image #5",
    isDom: false
}, {
    href: "path/image06.jpg",
    type: "image",
    title: "Image #6",
    isDom: false
}, {
    href: "path/image07.jpg",
    type: "image",
    title: "Image #7",
    isDom: false
}]; // etc

След това push елементите от тази променлива в галерията в рамките на beforeLoad обратно извикване като :

var done = false; // initialize switch
jQuery(document).ready(function ($) {
    $(".fancybox").fancybox({
        // loop : false, // optional
        beforeLoad: function () {
            // here get next items from database 
            // and store them in a json variable
            // e.g. "databaseResponse"
            if ((this.index == this.group.length - 1) && !done) {
                for (var i = 0; i < databaseResponse.length; i++) {
                    this.group.push(databaseResponse[i]);
                };
                done = true; // push items only once
            }
        },
        afterClose: function () {
            done = false; // reset switch
        }
    });
}); // ready

Забележка че използваме превключвател (done променлива) за натискане елементите само веднъж (може да се наложи да нулираме превключвателя след затваряне на fancybox обаче)

JSFIDDLE

ЗАБЕЛЕЖКА :елементите ще бъдат добавени (избутани) само след като видим последния елемент в DOM (4-тия във вашия случай), така че ако започнете да разглеждате галерията назад, няма да видите новите елементи, но до втория цикъл.

Може да искате да зададете loop на false все пак




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nodejs с sequelize не можа да създаде таблица в mysql workbench след стартиране на сървъра

  2. Сървърът срещна вътрешна грешка или неправилна конфигурация и не можа да изпълни заявката ви

  3. Код на грешка:1062. Дублиран запис „1“ за ключ „PRIMARY“

  4. Ограничението за външен ключ е формирано неправилно?

  5. Реализация на MySQL с CUDA