我一直在編寫一個簡單的jquery函數,它將帶有圖像列表的div轉換爲傳送帶。這裏是標記..jQuery Carousel函數問題
<div id="carousel">
<ul>
<li><img src="images/music1.jpg" /></li>
<li><img src="images/music2.jpg" /></li>
<li><img src="images/music3.jpg" /></li>
</ul>
</div>
,並在我的carousel.js文件我有如下功能..
//Function turns a div with a list of images into a carousel
//=====
jQuery.fn.makeCarousel = function({slideWidth, numSlides, transTime, interval}) {
//== Get Element and store id==//
var id = $(this).attr("id");
var element = "#" + id;
// Function
setInterval(function(){
//Store Variables
var currentLeft = $(element + ' ul').css("left");
var left = parseFloat(currentLeft, 10);
var moveBy = left - slideWidth;
//Slide the list, and stop it being moved out of bounds
if(moveBy < ((numSlides - 1) * slideWidth) * -1) {
$(element + ' ul').animate({left : "0px" }, transTime);
} else {
$(element + ' ul').animate({left : moveBy + "px" }, transTime);
}
},interval);
};
我要去後整理代碼,即時通訊relativley新的jQuery。
然後我在HTML的標題下面..
<script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="scripts/carousel.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$('div#carousel').makeCarousel({
slideWidth: 500,
numSlides: 3,
transTime: 2000,
interval: 3000
});
});
</script>
你可以看到IVE包括jQuery的核心,我的旋轉木馬腳本,然後IVE呼籲DIV廠名轉盤方式,並通過一些設置在。
現在,這個功能在firefox中運行良好,但在IE,Safari,Chrome和Opera中沒有。
IE說: 「對象犯規支持此屬性或方法」,並指出該線以上,其中我稱之爲 「$( '#DIV旋轉木馬')makeCarousel」。 Chrome提供了2個錯誤:第一個表示「Uncaught TypeError:Object#沒有方法'makeCarousel'」,下一個表示「Uncaught SyntaxError:意外的標記{」並指向我聲明函數的那一行:「 jQuery.fn.makeCarousel =函數({slideWidth,numSlides,transTime,間隔}){「
林在比特損失的這種情況,我已經正確聲明功能?它還能是什麼?它在firefox中運行得非常好,但是在其他任何地方都沒有。
任何與此有關的幫助將是非常令人滿意的! 謝謝!
Tom
你就可以解釋一下下面的代碼行嗎? options = jQuery.extend({slideWidth:0,numSlides:1,transTime:100,interval:5000},options); 和 收益$(本)。每個(函數()再次 謝謝! – cast01 2009-12-30 14:39:24
的'options'都傳過來的對象。擴展(在這種情況下),採用默認值的對象,並替換默認在'options'參數中找到的任何匹配值,然後將其重新分配給'options'變量。這樣你就知道你正在使用的屬性存在並且有合理的值。做一個'return $(this).each ' - 允許你的插件應用於多個項目,如果選擇器匹配多個** **和**允許它被鏈接,因爲返回值是傳入插件的元素集合 – tvanfosson 2009-12-30 15:41:28
感謝您的解釋,我明白我現在去哪裏錯了,工作過一次!湯姆 – cast01 2009-12-30 15:56:52