Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как в fancybox передать href не создавая его в разметке ??? (https://javascript.ru/forum/dom-window/40186-kak-v-fancybox-peredat-href-ne-sozdavaya-ego-v-razmetke.html)

ilyas-> 26.07.2013 23:00

Как в fancybox передать href не создавая его в разметке ???
 
вот таки методом вызываю клик при загрузке страницы $(".gallery3").trigger('click');, но для него должна быть в разметке ссылка с заполненным href на фаил с контентом, как в коде js показать на этот href в скрипте ??? не создавая в разметке. Я использую старую версию fancybox 1.2.1 и с этой версией не работает вот такой метод $.fancybox.open

danik.js 27.07.2013 06:15

$.fancybox({type: 'blabla', href: 'blabla'})

ilyas-> 27.07.2013 08:41

Что будет если на страницу подключить 2 jQuery библеотеки разных версий например 1,6,4 и 1,8,2, или больше чем 2 jQuery ??????

danik.js 27.07.2013 08:53

Ничего страшного. Я всегда так делаю. Профессионалы jQuery вообще рекомендуют подключать все минорные версии сразу (а это 12 штук на сегодня), чтоб обеспечить обратную совместимость.

Еще лучше подключить дополнительно mootools. Причем лучше всего все библиотеки хранить в неминимизированном варианте, для упрощения отладки. Это просто гарантия успеха.

ilyas-> 27.07.2013 13:16

Цитата:

Сообщение от danik.js (Сообщение 264433)
Ничего страшного. Я всегда так делаю. Профессионалы jQuery вообще рекомендуют подключать все минорные версии сразу (а это 12 штук на сегодня), чтоб обеспечить обратную совместимость.

Еще лучше подключить дополнительно mootools. Причем лучше всего все библиотеки хранить в неминимизированном варианте, для упрощения отладки. Это просто гарантия успеха.




Пройдя по вашим ссылкам на репозиторий почитал мануал и вот что уменя получилось
$(".gallery3").fancybox({
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
$(".gallery3").trigger('click');

iframe всплывает так как надо, вот только должен всплывать по заданому промежутку времени.
Теперь куда вставлять код который мне написали в другой теме ???
var date = new Date();
var mSec = 5*1000; // здесь выставляем промежуток всплывания на 5сек

function show_fancybox(){
  if( ! $.cookie('fancybox_show')  ){
    // запускаем fancybox
   
   date.setTime(date.getTime() +mSec);
   
   $.cookie('fancybox_show', date.getTime(),{ path: "/personal/why_we/vk.html", expires: date});
  }
}

$(function(){

   show_fancybox()

   setInterval(show_fancybox, mSec)

})

danik.js 27.07.2013 13:22

Ты должно быть разыгрываешь нас, да?:nono:

ilyas-> 27.07.2013 13:26

Цитата:

Сообщение от danik.js (Сообщение 264447)
Ты должно быть разыгрываешь нас, да?:nono:


Я сделал так, ни промежуток не работает и вообще не всплывает ???
var date = new Date();
var mSec = 5*1000; //выставляю промежуток отображения на 5сек

function show_fancybox(){

$(".gallery3").fancybox({ // формирую модальное окно
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
//$(".gallery3").trigger('click');

  if( ! $.cookie('fancybox_show')  ){
    // запускаем fancybox
	
	
$(".gallery3").trigger('click'); //тригерим событие клик
   
   date.setTime(date.getTime() +mSec);
   
   $.cookie('fancybox_show', date.getTime(),{ path: "/", expires: date});
  }
}

$(function(){

   show_fancybox() //вызов функции

   setInterval(show_fancybox, mSec) // передача функциии

})

ilyas-> 27.07.2013 14:04

блин да тут осталось то, я уже по всякому свой код запуска модального окна вставлял в функцию запуска по времени жизни куки, ну не работает с этой функцией

danik.js 27.07.2013 14:54

Ты вобще с какой планеты?
Цитата:

Сообщение от ilyas->
// запускаем fancybox

Тебе это ни о чем не говорит?
Цитата:

Сообщение от ilyas->
//$(".gallery3").trigger('click');

Комментарий? Не, не слышал...

ilyas-> 27.07.2013 15:20

fancybox_show самому создавать эту функцию? или это предопределенная ? посмотрел в апи нету такой, значит код запуска модального окна вставляю в созданную функцию fancybox_show
$(".gallery3").fancybox({
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
$(".gallery3").trigger('click');


получается вот так чтоли
function fancybox_show(){
    $(".gallery3").fancybox({
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
$(".gallery3").trigger('click');
}


И далее передаю в код с куки

ilyas-> 27.07.2013 15:26

Так вот написал

$(document).ready(function{

function fancybox_show(){
    $(".gallery3").fancybox({
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
$(".gallery3").trigger('click');
}


var date = new Date();
var mSec = 5*1000;

function show_fancybox(){


  if( ! $.cookie('fancybox_show')  ){
    // запускаем fancybox

   
   date.setTime(date.getTime() +mSec);
   
   $.cookie('fancybox_show', date.getTime(),{ path: "/", expires: date});
  }
}

$(function(){

   show_fancybox()

   setInterval(show_fancybox, mSec)

})

})


Не работает(не всплывает через 5сек)

danik.js 27.07.2013 16:20

Есть такой вот код:

function bla() {
    alert('tra-la-la');
}


Объясни, почему алерт не выскакивает если нажать Запустить?

ruslan_mart 27.07.2013 16:27

Есть такой код:

function isHisKiss() {
   return isHisKiss();
}

isHisKiss();

Сколько платят космонафтам? :D

ilyas-> 27.07.2013 17:01

Ну елы палы,код который я выцепил в гитхаба
$(".gallery3").fancybox({
                    autoSize: false,
                    autoDimensions: false,
                    width: 416,
                    height: 416,
                    fitToView: false,
                    padding: 0,
                    href: '/personal/why_we/vk.html',
                    type: 'iframe'
                });
$(".gallery3").trigger('click');

Работает, каждый раз когда нажимаю F5 окно всплывает, поточто срабатывает триггер

Вот этот код давали на форуме, типа в нем уже настроено запоминание и отсчитывание 5сек с момента первого запуска, вот он
var date = new Date();
var mSec = 5*1000;

function show_fancybox(){


  if( ! $.cookie('fancybox_show')  ){
    // запускаем fancybox

      alert('tra-la-la');
   date.setTime(date.getTime() +mSec);
   
   $.cookie('fancybox_show', date.getTime(),{ path: "/", expires: date});
  }
}

$(function(){

   show_fancybox()

   setInterval(show_fancybox, mSec)

})


я пробовал код запуска модального окна заворачивать в функцию и передавать в в этот кусок кода.

Тут всего-то осталось сделать чтобы всплывало по задданому мною промежутку времени и хранением отсчета в куках, окно то всплывает но только по F5

ruslan_mart 27.07.2013 17:02

ilyas->, какие триггеры, соседнюю тему смотрите.

ilyas-> 27.07.2013 19:55

мне ктонибуть может нормально помочь?

ruslan_mart 28.07.2013 04:40

ilyas->, нормально? Юзайте ваниллу-js, там есть готовые примеры.

danik.js 28.07.2013 08:02

ilyas->, человеку, который не в состянии ответить на этот вопрос нельзя помочь. Для таких людей (которые абсолютно не знают js) есть раздел Работа.

ilyas-> 28.07.2013 10:32

в другой теме я все правильно иследовал код алертом, значит вызвваю его из иодной которая передается в условие другой и вызывается в самом низу, первая функция не вызывается во второй


Часовой пояс GMT +3, время: 04:53.