3

这是我的看法:

<div id='profile_galery'>       
<ul>
<li class='big'><%=link_to image_tag(@profile.user.get_avatar(:large) ), @profile.user.get_avatar(:very_large), :class => 'fancybox'%></li>

这是我的js:

$(document).on("ready page:change", function() {
$(".fancybox").fancybox({
        openEffect  : 'elastic'
    });
});

当我转到带有fancybox 类的图像的页面并单击它时- 没有fancybox 但是... html 更改并且页面被锁定。似乎fancybox已打开但未显示并阻止了所有内容。当我重新加载页面时-fancybox 工作。这是怎么回事?

4

4 回答 4

10

尝试添加明显parent选项

$('.fancybox').fancybox({ parent: "body"});
于 2014-05-29T13:27:42.703 回答
4

根据 r0ma 的回答,这对我有用:

<script type="text/javascript", 'data-turbolinks-eval'="false">  
  $(document).bind('page:change', function(){
    $('.fancybox').fancybox({ parent: "body"})
  });
</script>
于 2014-07-30T17:56:30.310 回答
2

遇到同样的问题,安装 jquery-turbolinks gem 就像 fatfrog 所说的那样解决了它。

jquery-turbolinks

于 2014-02-05T12:56:55.993 回答
0

这对我有用

document.addEventListener("turbolinks:load", function() {
  $(".alert .close").click(function(){
    $(this).parent().hide();
  })
  $('.fancybox').fancybox({ parent: "body"})
})
于 2016-11-09T08:10:36.793 回答