如何禁用JavaScript功能,点击后

How to disable JavaScript function, after clicking?

本文关键字:功能 何禁用 JavaScript      更新时间:2023-09-26

我有一个页面,当你滚动它时,对象(容器…)变得可见。我也有项目。所以当你点击其中一个时,我的页面就会向上滚动。我想禁用我之前告诉过的功能(显示,而不是禁用滚动!)。

$(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中的事件处理程序。

.off()方法删除附加的事件处理程序内用()。请参阅关于委托事件和直接绑定事件的讨论更多信息请访问该页面。不带参数调用。off()删除附加到元素的所有处理程序。特定事件处理程序可以通过提供事件名称的组合在元素上删除,名称空间、选择器或处理程序函数名。

从jquery api: http://api.jquery.com/off/

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

click函数中,使用$window.off('scroll');$window.unbind('scroll');

使用jquery函数.off,你需要激活然后使用.on $(window).on( 'scroll', 'body', function(){ ... });

当点击功能

$(window).off( 'scroll', 'body');