1

divを自動スクロールするjqueryプラグインを作成し、setInterval関数を使用してdivをしばらく停止させてからスクロールを続けました。ここにコードがあります

(function($){
"use strict";
function scrolltotop(obj,height,speed){
var ch=parseInt($(obj).css("margin-top"))+29;
    $(obj).parent().find(".moving").remove();
    $(obj).after($(obj).clone().addClass("copy"));
    $(obj).addClass("moving").removeClass("copy").animate({
        "margin-top":-27
    },speed);
    loop=setInterval(function(){
        ch+=27;
        if(ch < height+27){
            $(obj).animate({
                "margin-top":-ch
            },speed,function(){
            loop;
            })      
        }else{
            clearInterval(loop);
            scrolltotop($(obj).next(".copy"),height,speed); 
        }
    },4000)
}               
$.fn.extend({ 
    autoscroll: function(options) {  
        var defaults = {  
            speed: 1000,  
            scroller : '#scroller',  
            scroller_container : '#scroller_container'  
        }    
        var options =  $.extend(defaults, options); 
        var height=$(options.scroller).height();
        var stop=stopscroll();
        //console.log(height)

        scrolltotop(options.scroller,height,options.speed);
    }, 
});  
}(jQuery));
$("#list2").autoscroll({scroller:"#list2",scroller_container:"#container_2"});

それはうまく機能しますが、プラグインを初期化した後に div のスクロールを停止する方法がわかりません。

4

1 に答える 1