在scroll上更改变量值 - jQuery

时间:2015-07-08 06:15:15

标签: javascript jquery scroll zoom

我有这个变量:coords.zoom。我正在使用coords.zoom的值来设置缩放图像的宽度和高度,从而为我提供放大效果。而且效果很好!

我唯一的问题是当用户滚动我的图像时,我不知道如何增加(或减少)此变量的值。我需要创建一些函数,它将在用户滚动时更改此变量的值,但实际上没有任何内容向上或向下滚动。我也希望这个变量总是在1到3之间。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

此代码将在滚动文档时执行。代码将以setTimeout以适当的方式执行。

            var scrltimeout = null;
            jQuery(document)
            .scroll(function(){
            clearTimeout(scrltimeout);
              scrltimeout = setTimeout(
            function(){
            alert('document scrolled');
            }, 300)

            });

答案 1 :(得分:0)

我找到了解决这个问题的一个很好的解决方案。对于任何需要这种机制的人来说,你来对地方了。

假设您有一个ID为zoom的div。要增加(或减少)我的coords.zoom变量的值,请将此代码粘贴到您的正文标记之间:

<script>
   coords.zoom = 1.5 // set a start value to coords.zoom  
   $('.image').bind('mousewheel', function(e){
   if(e.originalEvent.wheelDelta > 0){ 

       coords.zoom = coords.zoom + 0.1;
       if (coords.zoom>3){coords.zoom = 3} // 3 is the max value of coords.zoom
       $("#zoom").text(coords.zoom);

   } else {

       coords.zoom = coords.zoom - 0.1;
       if (coords.zoom<1.2){coords.zoom = 1.2} // 1.2 is the min value of coords.zoom
       $("#zoom").text(coords.zoom);
    }
  });
</script>



我们去!不错,高效。显然,我选择将值增加0.1,但您可以将其设置为任何范围内的任何值...祝您有个美好的一天!