2014-12-23 4 views
1

У меня есть fancybox нагрузка на страницу на http://cobosboutique.com. Я хочу добавить файл cookie, который позволяет загружать его каждые 7 дней. Я нашел этот ответ https://stackoverflow.com/questions/23431862/fancybox-popup-once-time-for-session#=, но когда я его использую, я получаю сообщение об ошибке, в котором говорится, что содержимое не может быть загружено. Я пробовал комментировать этот поток, но у меня недостаточно очков для этого. Кто-нибудь есть идеи, что вызывает это? На данный момент я удалил код для файла cookie. Но это код.Использование fancybox w/jquery cookie

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script src="../template/js/jquery.cookie.js"></script> 
<link rel="stylesheet" href="../template/fancybox/source/jquery.fancybox.css?v=2.1.5" type="text/css" media="screen" /> 
<script type="text/javascript" src="../template/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script> 
<link rel="stylesheet" href="../template/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" /> 
<script type="text/javascript" src="../template/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script> 
<script type="text/javascript"> 
    function openFancybox() { 
    setTimeout(function() { 
     $('#yt').trigger('click'); 
    }, 500); 
}; 
</script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    var visited = $.cookie('visited'); 
    if (visited == 'yes') { 
     return false; // second page load, cookie active 
    } else { 
     openFancybox(); // first page load, launch fancybox 
    } 
    $.cookie('visited', 'yes', { 
     expires: 0 // the number of days cookie will be effective 
    }); 
    $("#yt").click(function() { 
     $.fancybox({ 
      href: this.href, 
      type: "inline" 
     }); 
     return false; 
    }); 
}); 
</script> 
<a class="fancybox" href="#yt">test</a> 
    <div id="yt" style="display:none; text-align: center;"><h2>VIP TEXT CLUB!</h2> 
<h3>Get exclusive access to sales and new arrivals!</h3> 
<h3>Text "COBO" to 51660 and receive 10% off your entire purchase! </h3> 
<h3>10% offer only applies to first time text club subscribers.</h3></div> 

ответ

1

Имейте в виде, что #yt является идентификатором контента целевого (ваш скрытый div, что должно быть в FancyBox), поэтому вы можете не связывать и триггерclick события селектора но один с классом fancybox (The триггер элемент), который фактически указывая на селектор #yt:

<a class="fancybox" href="#yt">test</a> 

Таким образом, в вашей openFancybox() функции вам необходимо заменить эту строку

$('#yt').trigger('click'); 

... этим один

$('.fancybox').trigger('click'); 

Затем связываютclick событий для .fancybox замены этой линии

$("#yt").click(function() { 

... этим одним

$(".fancybox").click(function() { 

См JSFIDDLE

+0

Спасибо. это сделало трюк –

Смежные вопросы