在Ajax调用后重新触发Jquery脚本

时间:2019-04-16 17:39:07

标签: javascript jquery ajax

我正在使用一个简短的Jquery脚本在页面加载时隐藏div元素,该元素在某些情况下会重新出现。当用户向下滚动页面时,新内容将随Ajax一起加载,其中包含我要隐藏的相同的div元素。加载上述div元素后,如何再次触发该Jquery?

<head>

<script type="text/javascript">
    (function($) {
           $(window).load(function() {
            $( ".the_button" ).hide();
            if (...certain condition is met...) { 
                $( ".the_button" ).show();
            }
           });
    })(jQuery);
</script>

</head>

<body>

<div class="the_button"><button>Share</button></div>

<p>Ajax-loaded button:</p>

<div class="the_button"><button>Share</button></div>

</body>

该按钮在以后的Ajax加载中显示,但我希望它像第一个一样被隐藏。

1 个答案:

答案 0 :(得分:1)

您可以将两个脚本都放在“ filename.js”文件中,并通过脚本标签将其包含在html中。

然后将整个脚本放入这样的函数中

$(window).load(function () {
    function functionName(){
    $(".the_button").hide()
    if (...certain condition is met...) {
      $(".the_button").show()
    }
    functionName()
      (...calling it right after load...)
    $.ajax({
        (...ajax things goes here...)
      })
      .done(function(){
        functionName()
          (...call your function again here...)
      })
    }
  })

这东西可以帮助您处理Ajax。 http://api.jquery.com/jquery.ajax/