Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于旋转木马的jQuery插件_Jquery_Jquery Plugins_Plugins_Carousel - Fatal编程技术网

用于旋转木马的jQuery插件

用于旋转木马的jQuery插件,jquery,jquery-plugins,plugins,carousel,Jquery,Jquery Plugins,Plugins,Carousel,所以我是插件开发的新手,我一直在做一个图像旋转木马,我想把它做成一个插件。我以为我已经弄明白了,但似乎没弄对。init函数不会调用。以下是我的插件代码: // Plugin (function( $ ){ $.fn.customSlider = function(options){ var config = $.extend({ // TODO: add all configuration options needed 'slideCount': null,

所以我是插件开发的新手,我一直在做一个图像旋转木马,我想把它做成一个插件。我以为我已经弄明白了,但似乎没弄对。init函数不会调用。以下是我的插件代码:

// Plugin
(function( $ ){

  $.fn.customSlider = function(options){

    var config = $.extend({ // TODO: add all configuration options needed
      'slideCount': null,
      'delayTime': 1000
    }, options);

    var slideCount  = this.find('div.slide').length,
        rotate      = function(i){ // TODO: make name more descriptive
            setInterval(function() {
                if (i < slideCount -1) {
                    i++;
                } else {
                    i=0;
                }
                slideRotate(i);
            },  delayTime);
        }, 

        slideRotate = function(i){
            var asdf = null;
            $('.slider').children().fadeOut(500);
            $($('.slider div').get(i)).fadeIn(500); // TODO: externalize $('.slider div').get(i) into variable
        },

        gotoSlide = function(i){
            customSlider.rotate(i-1);
        },

        init = function(){
            console.log('init');
            this.find('div:first').show();
            customSlider.rotate(0);
        }, 

        clickzor = function() { // TODO: make selector more specific  
            clearInterval(intervalID); 
            intervalID = null; 
            var num = parseInt($(this).text(),'') - 1; 
            slideRotate(num); 
            gotoSlide(num+1);
        };

        $('a').click(clickzor);

    };

    customSlider.init();

    // init

})( jQuery );

$(function(){
    $('#headSlider').customSlider();
});
//插件
(函数($){
$.fn.customSlider=函数(选项){
var config=$.extend({//TODO:添加所需的所有配置选项
“slideCount”:null,
“延迟时间”:1000
},选项);
var slideCount=this.find('div.slide').length,
旋转=函数(i){//TODO:使名称更具描述性
setInterval(函数(){
如果(i
以下是我的非插件代码:

$(function() {
    $('#headSlider div.slide:first').addClass('active').show();
    var slideCount = $('.slider div.slide').length;
    var delayTime = 6000;
    var intervalID;



    function slideRotate(i) {
        $('.slider').children().fadeOut(500);
        $($('.slider div').get(i)).fadeIn(500);     
    }

    function rotate(i) 
    {            
        intervalID = setInterval(function() {
            if(i < slideCount -1)
            {
                i++;
            }
            else
            {
                i=0;
            }
            slideRotate(i);
        }, delayTime);
    }

    function gotoSlide(i)
    {        
        rotate(i-1);
    }

     $('a').click(function() 
    {     
        clearInterval(intervalID); 
        intervalID = null; 
        var num = parseInt($(this).text(),'') - 1; 
        slideRotate(num); 
        gotoSlide(num+1);
    });


    rotate(0);
});
$(函数(){
$('#头滑块div.slide:first').addClass('active').show();
var slideCount=$('.slider div.slide').length;
var延迟时间=6000;
var有效期;
函数slideRotate(i){
$('.slider').children().fadeOut(500);
$($('.sliderdiv').get(i)).fadeIn(500);
}
函数旋转(一)
{            
intervalID=setInterval(函数(){
如果(i

我只是不知道我做错了什么。救命啊

我认为问题在于您应该在扩展定义中调用
init()

$.fn.slider = function(options){
    ...definitions...
    init();
}

您可能不应该将其称为
slider()
,因为jqueryui的拖动滑块被称为相同的滑块。这可能会引起今后的冲突。是的,就是这样。就像我说的,插件开发新手:P