使用一个开关按钮在jQuery中切换函数的问题

时间:2014-05-31 20:35:15

标签: javascript jquery

我使用两个按钮在this sample向上和向下滑动页面:

<div id="map"><button type="button" class="btn btn-default green goinfo">Go Info</button></div>
<div id="info"> <button type="button" class="btn btn-default green gomap">Go Map</button></div>
你可以告诉我如何减少按钮做同样的工作吗?类似的东西:

 <button type="button" class="btn btn-default slider">Switch View</button>

的jQuery

jQuery('body').css('overflow','hidden'); 
     var viewheight = $('#map').height();


 $('.goinfo').fadeIn();
    $(window).scroll(function () {
        if ($(this).scrollTop() < 100) {
            $('.goinfo').fadeIn();
        } else {
            $('.goinfo').fadeOut();
        }
    });

     $(window).scroll(function () {
        if ($(this).scrollTop() > 100) {
            $('.gomap').fadeIn();
        } else {
            $('.gomap').fadeOut();
        }
    });

    $('.gomap').click(function () {
        $("html, body").animate({
            scrollTop: 0
        }, 600);
        return false;
    });

     $('.goinfo').click(function () {

        $("html, body").animate({
            scrollTop: viewheight
        }, 600);
        return false;
    });

    $( window ).resize(function() {
    var mapheight = $('#mapview').height();

});

1 个答案:

答案 0 :(得分:0)

  1. 将按钮放在div下方,在它们下方。
  2. 使用CSS设置按钮的样式,使其显示在您想要的位置(可能大致为position: absolute; bottom: 10px; right; 10px;,但如果不了解有关您网页的详细信息,则很难说。
  3. 将一个局部变量放入ready处理程序:var down = false;
  4. 在按钮处理程序中,执行以下操作:
  5. 代码:

    if (down) {
       down = false;
       $('html, body').animate(...);
    }
    else {
       down = true;
       $('html, body').animate(...);
    }
    

    但老实说,我认为你现在拥有的东西不那么复杂,也没有问题,所以我不会自己改变它。