我的頁面在本地工作之前,它只是一個靜態的HTML頁面與jQuery。但是,我在軌道上建立它,因爲我想要在heroku上免費的網絡託管。讓jQuery在rails應用上工作
我所做的只是將jQuery移動到application.js文件中,並更改了application.html.erb文件,因爲這就是所需要的,對吧?
,我有以下包含在我的Gemfile:
gem 'sqlite3'
gem 'jquery-rails'
gem 'thor'
這是我的Application.html.erb文件:
<head>
<title>Me</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" %>
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" %>
<%= javascript_include_tag "jquery-rails.js" %>
<%= javascript_include_tag "jquery.fancybox-1.3.4.js" %>
<%= javascript_include_tag "jquery.fancybox-1.3.4.pack.js" %>
<%= javascript_include_tag "jquery.fancybox-1.3.4.css" %>
<%= javascript_include_tag "jquery.easing-1.3.pack.js" %>
<%= javascript_include_tag "jquery.mousewheel-3.0.4.pack.js" %>
<%= render 'layouts/stylesheets' %>
<%= csrf_meta_tag %>
</head>
,這是我的application.js文件:
// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
$("a#example1").fancybox();
$("a#example2").fancybox({
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic'
});
$("a#example3").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none'
});
$("a#example4").fancybox({
'opacity' : true,
'overlayShow' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'none'
});
$("a#example5").fancybox();
$("a#example6").fancybox({
'titlePosition' : 'outside',
'overlayColor' : '#000',
'overlayOpacity' : 0.9
});
$("a#example7").fancybox({
'titlePosition' : 'inside'
});
$("a#example8").fancybox({
'titlePosition' : 'over'
});
$("a[rel=example_group]").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + '/' + currentArray.length + (title.length ? ' ' + title : '') + '</span>';
}
});
/*
* Examples - various
*/
$("#various1").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
$("#various2").fancybox();
$("#various3").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
$("#various4").fancybox({
'padding' : 0,
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
您是否檢查了在請求頁面時是否將正確的.js文件交給瀏覽器? Firefox中的Firebug會很快顯示出來。或者你能更好地解釋「不工作」是什麼意思? –
有趣。它表示未被捕獲的類型錯誤:對象#
你需要包含fancybox.js ...你錯過了 –