我如何运行一个函数onload,然后从onclick事件再次调用它



这是我的函数

$(document).ready(function() {
    "use strict";
    var $rows_views = $('.view-display-id-block_1 .view-content').find('[class*="views-row-"]'); 
    $rows_views.each(function(index) { 
        $('.show-more').click(function() {
            if (index > (($rows_views.length / 3) - 1)) { 
                $('.views-row-' + (index + 1)).toggle(); 
            } 
            $('.pager').toggle(); 
        });
    });
});

我想运行它来隐藏行,然后在点击按钮时切换它来显示它们。如何在文档就绪时运行函数,然后在单击事件中再次运行该函数?

正如其他人在上面的评论中所说的,你可以把你在点击事件中调用的函数移到文档准备函数的顶部,然后在点击事件中(按名称)再次调用它:

$(document).ready(function() {
    "use strict";
    // Invoke your function here
    callMeTwice();

    // define your function here
    function callMeTwice () {
        // Do some stuff
    }
    // Invoke your function again within the click event here
    $(domElement).click(callMeTwice);
});

您在(document).ready()作用域之外创建了function,您应该能够从element和已准备好的function中调用

$(document).ready(function(){
  myFunc(); // You call your function here
  
  });
function myFunc() {
  alert('click'); // You do your action here aka hide show
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p onclick="myFunc();">click me </p><!--note the onclick attribute-->

您只需要添加一个。click()函数并将$rows_vies_each放在函数中。

这样的

$(document).ready(function() {
"use strict";
var clickMe = document.getElementById('idOfThingToClick')
var $rows_views = $('.view-display-id-block_1 .view-content').find('[class*="views-row-"]'); 
function bestFunction(){
  $rows_views.each(function(index) { 
      $('.show-more').click(function() {
          if (index > (($rows_views.length / 3) - 1)) { 
              $('.views-row-' + (index + 1)).toggle(); 
          } 
          $('.pager').toggle(); 
      });
  });
}
$(clickMe).click(function(){
  bestFunction();
})
});

最新更新