Javascript 调用jQuery幻灯片的jumpTo方法

Javascript 调用jQuery幻灯片的jumpTo方法,javascript,jquery,Javascript,Jquery,目前我正在使用simplefadeslideshow()来做一些淡入淡出效果 我想做的是,在网页上悬停某些元素时,将幻灯片更改为某个图像 我尝试了以下几点: var slider_1 = jQuery('#slide_show_1').fadeSlideShow({ width: 285, height: 489, PlayPauseElement: false, NextElement: false, PrevElement: fa

目前我正在使用simplefadeslideshow()来做一些淡入淡出效果

我想做的是,在网页上悬停某些元素时,将幻灯片更改为某个图像

我尝试了以下几点:

    var slider_1 = jQuery('#slide_show_1').fadeSlideShow({
     width: 285,
     height: 489,
     PlayPauseElement: false, 
     NextElement: false, 
     PrevElement: false, 
     ListElement: false,


    });
它初始化滑块,并按预期工作。然后我叫:

slider_1.jumpTo(2);
在悬停事件中(在第三张幻灯片中淡出),返回

未捕获类型错误:对象[Object Object]没有方法“jumpTo”

这个脚本确实有一个jumpTo()函数,那么我是不是调用错了?感谢您的帮助

如果有帮助,我尝试调用该方法的原始脚本:

jQuery.fn.fadeSlideShow = function(options) {
    return this.each(function(){
        settings = jQuery.extend({
            width: 640, // default width of the slideshow
            height: 480, // default height of the slideshow
            speed: 'slow', // default animation transition speed
            interval: 3000, // default interval between image change
            PlayPauseElement: 'fssPlayPause', // default css id for the play / pause element
            PlayText: 'Play', // default play text
            PauseText: 'Pause', // default pause text
            NextElement: 'fssNext', // default id for next button
            NextElementText: 'Next >', // default text for next button
            PrevElement: 'fssPrev', // default id for prev button
            PrevElementText: '< Prev', // default text for prev button
            ListElement: 'fssList', // default id for image / content controll list
            ListLi: 'fssLi', // default class for li's in the image / content controll 
            ListLiActive: 'fssActive', // default class for active state in the controll list
            addListToId: false, // add the controll list to special id in your code - default false
            allowKeyboardCtrl: true, // allow keyboard controlls left / right / space
            autoplay: true // autoplay the slideshow
        }, options);

        // set style for wrapper element
        jQuery(this).css({
            width: settings.width,
            height: settings.height,
            position: 'relative',
            overflow: 'hidden'
        });

        // set styles for child element
        jQuery('> *',this).css({
            position: 'absolute',
            width: settings.width,
            height: settings.height
        });

        // count number of slides
        var Slides = jQuery('> *', this).length;
        Slides = Slides - 1;
        var ActSlide = Slides;
        // Set jQuery Slide short var
        var jQslide = jQuery('> *', this);
        // save this
        var fssThis = this;
        var intval = false;
        var autoplay = function(){
            intval = setInterval(function(){
                jQslide.eq(ActSlide).fadeOut(settings.speed);

                // if list is on change the active class
                if(settings.ListElement){
                    var setActLi = (Slides - ActSlide) + 1;
                    if(setActLi > Slides){setActLi=0;}
                    jQuery('#'+settings.ListElement+' li').removeClass(settings.ListLiActive);
                    jQuery('#'+settings.ListElement+' li').eq(setActLi).addClass(settings.ListLiActive);
                }

                if(ActSlide <= 0){
                    jQslide.fadeIn(settings.speed);
                    ActSlide = Slides;
                }else{
                    ActSlide = ActSlide - 1;    
                }
            }, settings.interval);

            if(settings.PlayPauseElement){
                jQuery('#'+settings.PlayPauseElement).html(settings.PauseText);
            }
        }

        var stopAutoplay = function(){
            clearInterval(intval);
            intval = false;
            if(settings.PlayPauseElement){
                jQuery('#'+settings.PlayPauseElement).html(settings.PlayText);
            }
        }

        var jumpTo = function(newIndex){
            if(newIndex < 0){newIndex = Slides;}
            else if(newIndex > Slides){newIndex = 0;}
            if( newIndex >= ActSlide ){
                jQuery('> *:lt('+(newIndex+1)+')', fssThis).fadeIn(settings.speed);
            }else if(newIndex <= ActSlide){
                jQuery('> *:gt('+newIndex+')', fssThis).fadeOut(settings.speed);
            }

            // set the active slide
            ActSlide = newIndex;

            if(settings.ListElement){
                // set active
                jQuery('#'+settings.ListElement+' li').removeClass(settings.ListLiActive);
                jQuery('#'+settings.ListElement+' li').eq((Slides-newIndex)).addClass(settings.ListLiActive);
            }
        }

        // if list is on render it
        if(settings.ListElement){
            var i=0;
            var li = '';
            while(i<=Slides){
                if(i==0){
                    li = li+'<li class="'+settings.ListLi+i+' '+settings.ListLiActive+'"><a href="#">'+(i+1)+'<\/a><\/li>';
                }else{
                    li = li+'<li class="'+settings.ListLi+i+'"><a href="#">'+(i+1)+'<\/a><\/li>';
                }
                i++;
            }
            var List = '<ul id="'+settings.ListElement+'">'+li+'<\/ul>';

            // add list to a special id or append after the slideshow
            if(settings.addListToId){
                jQuery('#'+settings.addListToId).append(List);
            }else{
                jQuery(this).after(List);
            }

            jQuery('#'+settings.ListElement+' a').bind('click', function(){
                var index = jQuery('#'+settings.ListElement+' a').index(this);
                stopAutoplay();
                var ReverseIndex = Slides-index;

                jumpTo(ReverseIndex);

                return false;
            });
        }

        if(settings.PlayPauseElement){
            if(!jQuery('#'+settings.PlayPauseElement).css('display')){
                jQuery(this).after('<a href="#" id="'+settings.PlayPauseElement+'"><\/a>');
            }

            if(settings.autoplay){
                jQuery('#'+settings.PlayPauseElement).html(settings.PauseText);
            }else{
                jQuery('#'+settings.PlayPauseElement).html(settings.PlayText);
            }

            jQuery('#'+settings.PlayPauseElement).bind('click', function(){
                if(intval){
                    stopAutoplay();
                }else{
                    autoplay();
                }
                return false;
            });
        }

        if(settings.NextElement){
            if(!jQuery('#'+settings.NextElement).css('display')){
                jQuery(this).after('<a href="#" id="'+settings.NextElement+'">'+settings.NextElementText+'<\/a>');
            }

            jQuery('#'+settings.NextElement).bind('click', function(){
                nextSlide = ActSlide-1;
                stopAutoplay();
                jumpTo(nextSlide);
                return false;
            });
        }

        if(settings.PrevElement){
            if(!jQuery('#'+settings.PrevElement).css('display')){
                jQuery(this).after('<a href="#" id="'+settings.PrevElement+'">'+settings.PrevElementText+'<\/a>');
            }

            jQuery('#'+settings.PrevElement).bind('click', function(){
                prevSlide = ActSlide+1;
                stopAutoplay();
                jumpTo(prevSlide);
                return false;
            });
        }

        if(settings.allowKeyboardCtrl){
            jQuery(document).bind('keydown', function(e){
                if(e.which==39){
                    var nextSlide = ActSlide-1;
                    stopAutoplay();
                    jumpTo(nextSlide);
                }else if(e.which==37){
                    var prevSlide = ActSlide+1;
                    stopAutoplay();
                    jumpTo(prevSlide);
                }else if(e.which==32){
                    if(intval){stopAutoplay();}
                    else{autoplay();}
                    //return false;
                }
            });
        }

        // start autoplay or set it to false
        if(settings.autoplay){autoplay();}else{intval=false;}
    });
};
jQuery.fn.fadeSlideShow=函数(选项){
返回此值。每个(函数(){
设置=jQuery.extend({
宽度:640,//幻灯片的默认宽度
高度:480,//幻灯片的默认高度
速度:'慢',//默认动画转换速度
间隔:3000,//图像更改之间的默认间隔
PlayPauseElement:'fssPlayPause',//播放/暂停元素的默认css id
PlayText:'播放',//默认播放文本
PauseText:'暂停',//默认暂停文本
NextElement:'fssNext',//下一步按钮的默认id
NextElementText:“下一步>”,//下一步按钮的默认文本
PrevElement:'fssPrev',//prev按钮的默认id
PrevElementText:“*',this).css({
位置:'绝对',
宽度:settings.width,
高度:settings.height
});
//计算幻灯片的数量
var Slides=jQuery('>*',this).length;
幻灯片=幻灯片-1;
var ActSlide=幻灯片;
//设置jQuery幻灯片短变量
var jQslide=jQuery('>*',this);
//保存这个
var fssThis=此;
var intval=false;
var autoplay=函数(){
intval=setInterval(函数(){
jQslide.eq(ActSlide).fadeOut(设置.速度);
//如果列表处于打开状态,请更改活动类
if(settings.liselement){
var setActLi=(幻灯片-幻灯片)+1;
如果(setActLi>幻灯片){setActLi=0;}
jQuery('#'+settings.ListElement+'li').removeClass(settings.ListLiActive);
jQuery('#'+settings.ListElement+'li').eq(setActLi.addClass(settings.ListLiActive);
}
如果(ActSlide幻灯片){newIndex=0;}
如果(新索引>=ActSlide){
jQuery('>*:lt(+(newIndex+1)+'),fsstthis.fadeIn(settings.speed);

}else if(newIndex)你能粘贴调用
jumpTo
函数的代码吗?我已经编辑了这个问题以包含脚本。我想你误解了我。这是插件脚本。我要的是调用
jumpTo
函数的代码。jQuery('.fade out')。on(“mouseenter”,function(){slider_1.jumpTo(2);});您是否已将
slider_1
声明为全局变量?