我嘗試製作幾個jQuery內容滑塊和旋轉木馬腳本,使用iframe,但沒有成功。jQuery傳送帶爲什麼不能使用iframe?
的iframe中包含谷歌的圖表和一個Ruby插件(google_visualr)生成......可以看到的是什麼生成HTML:
<div class='carousel_charts'>
<ul>
<li id='bar_chart'>
<script type='text/javascript'>
google.load('visualization','1', {packages: ['corechart'], callback: function() {
var data_table = new google.visualization.DataTable();data_table.addColumn('date', 'Date');data_table.addColumn('number', 'Refinery');data_table.addColumn('number', 'Locomotive');data_table.addColumn('number', 'Comf. Mexican Sofa');data_table.addColumn('number', 'Nesta');data_table.addRow([{v: new Date(2011, 10, 21)}, {v: 123}, {v: 3}, {v: 16}, {v: 12}]);data_table.addRow([{v: new Date(2011, 10, 22)}, {v: 130}, {v: 1}, {v: 9}, {v: 22}]);data_table.addRow([{v: new Date(2011, 10, 23)}, {v: 155}, {v: 2}, {v: 15}, {v: 8}]);data_table.addRow([{v: new Date(2011, 10, 24)}, {v: 118}, {v: 3}, {v: 3}, {v: 11}]);data_table.addRow([{v: new Date(2011, 10, 25)}, {v: 99}, {v: 2}, {v: 7}, {v: 11}]);data_table.addRow([{v: new Date(2011, 10, 26)}, {v: 58}, {v: 0}, {v: 1}, {v: 16}]);data_table.addRow([{v: new Date(2011, 10, 27)}, {v: 45}, {v: 0}, {v: 1}, {v: 5}]);
var chart = new google.visualization.BarChart(document.getElementById('bar_chart'));
chart.draw(data_table, {width: 860, height: 540, title: 'Ruby CMS Diffusion', vAxis: {title: 'Last week', titleTextStyle: {color: 'red'}}, oAxis: {title: 'RubyGems Downloads', titleTextStyle: {color: 'red'}}});
}});
</script>
</li>
<li id='geo_chart'>
<script type='text/javascript'>
google.load('visualization','1', {packages: ['geochart'], callback: function() {
var data_table = new google.visualization.DataTable();data_table.addColumn('string', 'Country');data_table.addColumn('number', 'Popularity');data_table.addRow([{v: 'Germany'}, {v: 200}]);data_table.addRow([{v: 'United States'}, {v: 300}]);data_table.addRow([{v: 'Brazil'}, {v: 400}]);data_table.addRow([{v: 'Canada'}, {v: 500}]);data_table.addRow([{v: 'France'}, {v: 600}]);data_table.addRow([{v: 'RU'}, {v: 700}]);
var chart = new google.visualization.GeoChart(document.getElementById('geo_chart'));
chart.draw(data_table, {width: 860, height: 540});
}});
</script>
</li>
<li id='scatter_chart'>
<script type='text/javascript'>
google.load('visualization','1', {packages: ['corechart'], callback: function() {
var data_table = new google.visualization.DataTable();data_table.addColumn('number', 'Age');data_table.addColumn('number', 'Weight');data_table.addRow([{v: 8}, {v: 12}]);data_table.addRow([{v: 4}, {v: 5.5}]);data_table.addRow([{v: 11}, {v: 14}]);data_table.addRow([{v: 4}, {v: 4.5}]);data_table.addRow([{v: 3}, {v: 3.5}]);data_table.addRow([{v: 6.5}, {v: 7}]);
var chart = new google.visualization.ScatterChart(document.getElementById('scatter_chart'));
chart.draw(data_table, {width: 860, height: 540, title: 'Age vs. Weight comparison', hAxis: {title: 'Age', minValue: 0, maxValue: 15}, vAxis: {title: 'Weight', minValue: 0, maxValue: 15}, legend: 'none'});
}});
</script>
</li>
</ul>
</div>
...這裏是FireBug看到相同的代碼。
我想將注入到相應選擇器<li id='bar_chart'> <li id='geo_chart'> <li id='scatter_chart'>
(請參閱前面的代碼)中的三個Google <script type='text/javascript'>
滑動。
我試圖用這個jQuery carousel script滑動html iframe的內容,但它不起作用。 js如下:
$(function(){
// Looping carousel
$("div.carousel_charts").carousel({ autoSlide: true, pagination: true });
});
它基於jquery.carousel.min.js。我目前使用Rails-3.1.3,但流水線工作正常,這似乎是一個更普遍的JS問題。
的有什麼不對的不知道(但我不是一個'前端開發者)
任何想法?
我可能失去了一些東西,但看你的螢火輸出我沒有看到任何定義的來源。你是否試圖在這些iframe中加載所提到的圖表? – Maran
是的,結果是一個接一個顯示三個圖表的頁面,但不在傳送帶中。請注意,剪切後的第一個代碼實際上與Firebug分析的是相同的,但通過單擊Firefox瀏覽器的「查看頁面源代碼」(這裏是整個頁面:http://pastie.org/2929692) –