在Ruby on Rails中旋转图像,类似于AJAX

我正在一个我想要循环图像的网站上工作,类似于幻灯片,而用户在页面上。 我四处搜寻,但未能找到领先优势。

有人用Rails和它支持的Javascript框架做过这个吗?

你可以使用jquery循环插件,这里是链接: http : //malsup.com/jquery/cycle/ 。 看起来它会做你想要的。

仅供参考,Rails并不特别依赖任何JS框架,即使它带有开箱即用的原型。

我假设当你说AJAX时,你并不是指AJAX。 如果你使用AJAX旋转图像,你可以将旋转的图像生成服务器端并发送到客户端,因为AJAX =使用javascript执行请求。

话虽如此,你可以使用几乎任何你可以在谷歌上找到的JS图像旋转器。

编辑:哦,你的意思是骑自行车穿过图像,而不是旋转它,例如顺时针旋转90度等(?)

我一直在使用这个非常简单的function。 它不使用任何框架,它不会在幻灯片之间淡出,但它应该让你开始。

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中的function的resize,裁剪和旋转

在技​​术方面,我们使用YUIresize并在用户界面中裁剪,在服务器上使用RMagick来处理图像并将结果发送回UI。 YUI提供了开箱即用的imagecrop小部件。

我们还考虑在UI中执行一系列操作,然后提交服务器端处理的最后结果,但这会导致结果不充分。