2014-07-24 24 views
0

我想添加/删除.css('overflow-y','hidden')onclick,我做了哪些。当我尝试删除该css时,出现此问题,也是onclick。但是这一次,用户需要点击另一个元素。点击添加/删除溢出隐藏

想法是有模态(Twitter的引导2.3)窗口,其中有一些数据,当用户点击模式按钮(触发器)的CSS适用于HTML元素,以防止滚动的网站。现在,当我点击模式(模式关闭)的任何地方,但仍然有overflow-y样式,因此我无法滚动我的页面。

所以这就是我所做的,但我一直在这里卡住,不知道我在哪里犯错。任何人都可以帮助我解决这个问题,如果可能的话给我一些建议,以便将来我能保重。

谢谢!

<script type="text/javascript"> 
    $('#myModal').modal('hide')    // initializes and invokes show immediately</p> 
    $('.note').delay(10000).fadeOut('slow'); 

    $(document).ready(function() { 
     var $html = $('html'); 
     var $button = $('.container > .btn-primary'); 
     var $modal = $('.modal-backdrop'); 

     $button.on('click', function(e) { 
      $html.css('overflow-y', 'hidden'); 
      if ($html.attr('style')) { 
       alert('WORKS!'); 
      } 

      else { 
       $modal.onclick(function() { 
        $html.css('overflow-y','scroll'); 
       }); 
      }; 
     }); 

    }); 

    </script> 
+0

你能告诉你的HTML? –

回答

0

你可以使用这样的:

$button.on('click', function(e) { 
    $html.css('overflow-y','hidden' ? 'scroll' : 'hidden'); 
    e.preventDefault(); 
}) 
+0

我试过这个,但现在它只添加溢出-y滚动。 http://jsfiddle.net/uLv28/ –

0

这里是题解:

$(document).ready(function() { 
       var $html = $('html'); 
       var $button = $('.container > .btn-primary'); 
       var $modal = $('.modal-backdrop'); 

       $button.on('click', function(e) { 
        $('.note').delay(10000).fadeOut('slow'); 
        $html.css('overflow-y', 'hidden'); 
        if ($html.attr('style')) { 
         console.log("overflow-y: hidden added"); 
        } 
       }); 

       $('#myModal').on('hidden.bs.modal', function() { 
        // do something… 
        console.log("fires myModal"); 
        $html.css('overflow-y','scroll'); 
       }); 
      }); 

     </script>