[英]Rotating images, AJAX-like, in Ruby on Rails
我正在一个网站上工作,我想在用户在页面上时循环图像,类似于幻灯片。 我四处搜寻,但未能找到领先优势。
有没有人用Rails和它支持的Javascript框架做到这一点?
你可以使用jquery循环插件,这里是链接: http : //malsup.com/jquery/cycle/ 。 看起来它会做你想要的。
仅供参考,Rails并不特别依赖任何JS框架,即使它带有开箱即用的原型。
我假设当你说AJAX时,你并不是指AJAX。 如果您要使用AJAX旋转图像,则可以将旋转后的图像生成服务器端并发送到客户端,因为AJAX =使用javascript执行请求。 </迂腐>
话虽如此,您可以使用谷歌上可以找到的任何JS图像旋转器。
编辑:哦,你的意思是骑自行车穿过图像,而不是旋转它,例如顺时针旋转90度等(?)
我一直在使用这个非常简单的功能。 它不使用任何框架,它不会在幻灯片之间淡出,但它应该让你开始。
function SlideShow( elem_id, hold_time )
{
this.elem = document.getElementById( elem_id );
this.slides = [];
this.num_slides = 0;
this.cur_slide = 1;
this.add_slide = function( image )
{
this.slides[ this.num_slides++ ] = image;
}
var self = this;
this.next_slide = function()
{
if ( self.num_slides > 1 )
{
self.elem.src = self.slides[ self.cur_slide++ ].src;
if ( self.cur_slide == self.num_slides )
self.cur_slide = 0;
}
}
setInterval( self.next_slide, hold_time )
}
参数是img标签的element_id和显示每张幻灯片的mS数。
add_slide函数接受JavaScript Image对象。
将cur_slide初始化为1的原因是因为我预先加载了第一个图像的img标签。
在我的应用程序中,我在window.onload方法中创建了幻灯片,并安排每个Image在加载幻灯片时将其自身添加到幻灯片中。
示例(未经测试):
window.onload = function() {
var slide_show = new SlideShow( "slide_image", 4000 )
{ var img = new Image();
img.onload = function(){ slide_show.add_slide(img); };
img.src="/images/slide1.jpg"; }
...
/* Repeated for each image */
}
只有在不关心幻灯片的顺序时,此方法才有效。
我假设你想对图像进行持久的更改。 我正在开发一个Rails应用程序,我们实现了类似于snipshot.com中的功能的调整大小,裁剪和旋转
在技术方面,我们使用YUI调整大小并在用户界面中裁剪,在服务器上使用RMagick来处理图像并将结果发送回UI。 YUI提供了开箱即用的imagecrop小部件。
我们还考虑在UI中执行一系列操作,然后提交服务器端处理的最后结果,但这会导致结果不充分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.