当有人点击图片时,我们使用jQuery thickbox动态显示iframe.在这个iframe中,我们使用galleria一个javascript库来显示多张图片.
问题似乎是$(document).ready在iframe似乎过早被解雇并且iframe内容甚至尚未加载,因此galleria代码未在DOM元素上正确应用. $(document).ready似乎使用iframe父就绪状态来决定iframe是否准备就绪.
如果我们在单独的函数中提取由文档就绪调用的函数,并在超过100毫秒后调用它.它有效,但我们不能利用慢速计算机生产机会.
$(document).ready(function() { setTimeout(ApplyGalleria, 100); });
Run Code Online (Sandbox Code Playgroud)
我的问题:我们应该绑定哪个jQuery事件,以便在动态iframe准备就绪时能够执行我们的代码,而不仅仅是它的父级?
如果我有该行<style type="text/css"></style>,即使它是空白的,Galleria会抛出错误消息"致命错误:无法从CSS中提取舞台高度.跟踪高度:0px."
看来即使我告诉Galleria使用300的高度:
$('#galleria').galleria({
width: 300,
height: 300,
transition: 'fade'
});
Run Code Online (Sandbox Code Playgroud)
它试图首先确定高度,而CSS行令人困惑,因此它会抛出此错误.如果我删除那一行,不再有错误.
无论如何我仍然可以使用<style type="text/css"></style>?我们使用它来根据客户使用它来定制我们网站的外观和感觉.
关于在Rails 3.1的新资产管道中放置像Galleria这样的jQuery框架,我有点困惑?
从技术上讲,我知道它应该进入/vendors/assets/javascripts 但是,我的理解是,Galleria带有jQuery和主题的文件夹想要/galleria在实时站点的root()中才能正常工作.
此外,当我们在它的时候,在哪里放置以下脚本,以便它只出现在带有图库的页面上?
<script>
$('#gallery').galleria({
width:500,
height:500
});
</script>
Run Code Online (Sandbox Code Playgroud)
编辑:惊讶没有回应!?!也许Galleria不那么受欢迎?这些是我正在尝试加载的文件.虽然我可以很容易地移动它们,但它们是这样捆绑的:
vendor/
assets/
javascripts/
galleria-1.2.5.js
galleria-1.2.5.min.js
galleria/
themes/
classic/
classic-loader.gif
classic-map.png
galleria.classic.css
galleria.classic.js
galleria.classic.min.js
Run Code Online (Sandbox Code Playgroud)
我以为Sprockets require_tree .会加载所有内容app/assets,lib/assets并且vendor/assets?!?
ruby-on-rails galleria ruby-on-rails-3.1 sprockets asset-pipeline
我正在使用Galleria,我想使用经典主题并有字幕.那可能吗?如果是,我该如何设置?
我在我的网站上使用Galleria幻灯片,但我注意到一个似乎非常随机的错误.大多数情况下,幻灯片显示正确加载,但有一段时间我得到此错误:
Uncaught Error: Fatal error: Theme at javascript/themes/classic/galleria.classic.js
could not load, check theme path.
Run Code Online (Sandbox Code Playgroud)
当我重新加载页面时,它都恢复正常.这是我用来加载它的代码:
<script>
// Load the classic theme
Galleria.loadTheme('javascript/themes/classic/galleria.classic.js');
</script>
Run Code Online (Sandbox Code Playgroud)
我已经四处搜索,但仍未找到有效的解决方案.我个人的想法是有一个脚本继续加载,直到成功,因为重新加载页面工作.我该怎么做?
我正在尝试在其响应模式下使用此插件Galleria,这基本上意味着当窗口重新调整大小时,它将根据其容器大小重新绘制自己.我提供的链接上的演示显示了一个非常好的例子.您可以看到,在调整窗口大小时,整个图库会相应调整.现在我的问题是,除非为用作容器的DOM元素指定了高度,否则插件不会让我初始化库.这意味着,我必须编写大量的javascript代码来响应窗口调整大小 - 它破坏了它具有响应模式的重点 - 但在上面的网站中,我无处可寻找指定的显式高度.有人可以向我解释我哪里出错了吗?
我在谈论这个Galleria插件.也许这太简单了,但我在文档页面中找不到任何内容:我有这个galleria实现.我想为每个图像添加一个不同的链接,以便用户可以点击某个图像然后去某个地方.我怎样才能做到这一点?或者在哪里找到答案?
在这段代码中,
<p:galleria value="#{Bean.images}" var="image" panelWidth="500" panelHeight="313" showCaption="true"
<p:graphicImage value="/images/galleria/#{image}" alt="Image Description for #{image}" title="#{image}"/
</p:galleria>
Run Code Online (Sandbox Code Playgroud)
你怎么样的selectedImage?如表达的那样
<p:carousel id="carousel" value="#{tableBean.carsSmall}" var="car" itemStyleClass="carItem" headerText="Cars">
<p:graphicImage id="image" value="/images/cars/#{car.manufacturer}.jpg"/>
<h:panelGrid columns="2" style="width:100%" cellpadding="5">
<h:outputText value="Model: " /><h:outputText id="model" value="#{car.model}" />
</h:panelGrid>
<p:commandLink id="view" update=":form:carDetail" oncomplete="carDialog.show()" title="View Detail">
<h:outputText styleClass="ui-icon ui-icon-search" style="margin:0 auto;" />
<f:setPropertyActionListener value="#{car}"
target="#{tableBean.selectedCar}" />
</p:commandLink>
</p:carousel>
Run Code Online (Sandbox Code Playgroud) 我最近在使用Rails 4 Pipeline制作Galleria插件时遇到了麻烦,我花了一些时间来弄清楚如何使它工作,所以我想分享解决方案以防有人遇到类似的问题.
1)下载插件后,将galleria-1.3.3.js(它是我写的当天版本)和galleria.classic.js(或其他样式的js文件)放到vendor/assets/javascripts
2)把galleria.classic.css(或其他主题样式表)放到vendor/assets/stylesheets
3)添加//= require galleria-1.3.3和 //= require galleria.classic你的application.js文件,并*= require galleria.classic以application.css文件
4)资产管道为图像添加了指纹,这使得很难通过常规的CSS访问它们,所以需要在你的galleria样式表中添加'scss',就像这样,galleria.classic.css.scss并url(classic-map.png)改为asset_url("classic-map.png");和第二个图像一样.
5)打开galleria.classic.js文件并找到css:"galleria.classic.css"那样的东西,并将其更改为css: false
6)现在你只需要为Galleria.run('#galleria'); 某些js文件中的其他元素添加或不同的东西`这应该工作:)
PS我是Rails中的菜鸟,可能会犯一些愚蠢的错误,但我希望这对任何人都有帮助:)
galleria ×10
jquery ×6
javascript ×5
fingerprint ×1
iframe ×1
jsf ×1
primefaces ×1
reload ×1
sprockets ×1
thickbox ×1