Javascript 带有图像0速度onClick js的水平自动售票机

Javascript 带有图像0速度onClick js的水平自动售票机,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我做了这个水平的股票,但是 我需要它停止时,用户点击任何图像,直到用户再次点击,并随着放大图像,点击 我试图添加注释中的这段代码,但它完全破坏了代码 $(function(){ var scroller = $('#scroller div.innerScrollArea'); var scrollerContent = scroller.children('ul'); scrollerContent.children().clone().appendTo(scr

我做了这个水平的股票,但是 我需要它停止时,用户点击任何图像,直到用户再次点击,并随着放大图像,点击

我试图添加注释中的这段代码,但它完全破坏了代码

    $(function(){
    var scroller = $('#scroller div.innerScrollArea');
    var scrollerContent = scroller.children('ul');
    scrollerContent.children().clone().appendTo(scrollerContent);
    var curX = 0;
    scrollerContent.children().each(function(){
        var $this = $(this);
        $this.css('left', curX);
        curX += $this.outerWidth(true);
    });
    var fullW = curX / 2;
    var viewportW = scroller.width();

    // Scrolling speed management
    var controller = {curSpeed:0, fullSpeed:2};
    var $controller = $(controller);
    var tweenToNewSpeed = function(newSpeed, duration)
    {
        if (duration === undefined)
            duration = 600;
        $controller.stop(true).animate({curSpeed:newSpeed}, duration);
    };

    // Pause on hover
    scroller.hover(function(){
        tweenToNewSpeed(0);
    }, function(){
        tweenToNewSpeed(controller.fullSpeed);
    });

    // Pause and enlarge onClick

  //  scroller.onClick(function(){
    //  tweenToNewSpeed(0);
   // }, function(){
     //   tweenToNewSpeed(controller,fullSpeed);
   // }); 

    // Scrolling management; start the automatical scrolling
    var doScroll = function()
    {
        var curX = scroller.scrollLeft();
        var newX = curX + controller.curSpeed;
        if (newX > fullW*2 - viewportW)
            newX -= fullW;
        scroller.scrollLeft(newX);
    };
    setInterval(doScroll, 20);
    tweenToNewSpeed(controller.fullSpeed);
});
编辑放大功能(尝试):


使用
clearInterval

变量中设置
setInterval

var myInterval = setInterval(doScroll, 20);
然后单击添加事件以切换播放/暂停计时器:

  $('.innerScrollArea ul li').click(function(){

    if (!myInterval) {
      myInterval = setInterval(doScroll, 20); // play again!
    } else {
      clearInterval(myInterval); // pause!
      myInterval = null;
    }

  });

因为您使用的是
setInterval()
查找
clearInterval()
@reporter的用法,所以我在这里没听清楚。你的意思是用clearInterval()替换setInterval()?不,如果你阅读clearInterval的文档,你会发现它破坏了setInterval()的效果。你能详细说明我应该替换代码的哪一部分吗?或者将JSFIDLE粘贴到替换项上?@Scriv您已经有了它,它只是在我的答案中,请检查buttonThank You,但我无法将您的答案标记为正确答案,因为单击后会放大图像的第二部分。我正在做,所以你应该很快就能得到你的饼干,我的朋友:)
  $('.innerScrollArea ul li').click(function(){

    if (!myInterval) {
      myInterval = setInterval(doScroll, 20); // play again!
    } else {
      clearInterval(myInterval); // pause!
      myInterval = null;
    }

  });