javascript - 单击后如何禁用 JavaScript 功能?

标签 javascript jquery html css

我有一个页面,当你滚动它时,对象(容器......)变得可见。 我也有元素。因此,当您单击其中一个时,我的页面会向上滚动。我想禁用我之前告诉过的那个功能(显示,而不是禁用滚动!)。

$(document).ready(function(){
var offsetActivity = (1);
var wScroll = ($(window).scrollTop());
var wHeight = ($(window).innerHeight());
var thirdHeight = (wHeight/1.3);
$('.secondic > .row > a > .one-half > p').click(function(offsetActivity){
  var offsetActivity = (0);
  var projBack = $(this).parent().css('background-image');
  var parent = $(this).parent().attr('id');
  var textAbout = $('#'+ parent +' > p.about-photo').text();
$('header').css('background-image', ''+ projBack +'');
$('header > .headerCont > h5').replaceWith('<h5>'+ textAbout +'</h5>');
    setTimeout(function(){
      $('.container').removeClass('offset-done');
      $('.container').children().removeClass('offset-done');
    }, 2000);
});
if(offsetActivity = (1)){
$(window).scroll(
  function(){
    var wScroll = ($(window).scrollTop());
    var wHeight = ($(window).innerHeight());
    var thirdHeight = (wHeight/1.3);
    console.log(wHeight, wScroll, thirdHeight);
      if(wScroll > (($('.container').offset().top)-thirdHeight)){
        $('.container').addClass('offset-done');
      }
      if(wScroll > (($('.window').offset().top)-thirdHeight)){
        $('.window').addClass('offset-done');
      }
  });
});

那么当我点击我的 P 时如何禁用该功能? 我还希望在关闭元素后能够再次打开它

最佳答案

您可以使用 off() 在 jquery 中取消设置事件处理程序。

The .off() method removes event handlers that were attached with .on(). See the discussion of delegated and directly bound events on that page for more information. Calling .off() with no arguments removes all handlers attached to the elements. Specific event handlers can be removed on elements by providing combinations of event names, namespaces, selectors, or handler function names.

来自 jquery api:http://api.jquery.com/off/

在您的情况下,您应该使用 $(window).off('scroll'); 从 window 对象中删除滚动事件的事件处理程序。

关于javascript - 单击后如何禁用 JavaScript 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000457/

相关文章:

javascript - 如何通过ID javascript获取元素子跨度的innerhtml

jquery - 每次单击链接时如何使 div 向左滑动 100px

javascript - 从 react 应用程序中的字符串创建下拉列表选项

jquery - 鼠标悬停时显示 float Div

javascript - Typescript Dynamics CRM window.parent

javascript - AngularJS 绑定(bind)似乎不起作用

Javascript - 创建自己的书签网站并提示?

javascript - 仅使用 jquery 或 javascript 更改图像

php - POST - 500(内部服务器错误)

jquery - 插入将复制的可选空格