Javascript 如何运行onload函数,然后从onclick事件再次调用它
这是我的职责Javascript 如何运行onload函数,然后从onclick事件再次调用它,javascript,jquery,Javascript,Jquery,这是我的职责 $(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() {
$(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()范围之外创建函数
,并且您应该能够从元素
和ready函数
$(文档).ready(函数(){
myFunc();//在这里调用函数
});
函数myFunc(){
警报('click');//您在此处执行操作,即隐藏显示
}
单击我
您只需添加一个.click()函数,然后将$rows\u vies\u每个内容放入一个函数中即可
像这样
$(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();
})
});
正如其他人在上面的评论中所述,您可以将在单击事件中调用的函数移到文档就绪函数的外部和顶部,然后在单击事件中再次(按名称)调用它:
$(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调用该函数,并在单击事件中指定相同的函数。您可以将其包装到函数中,并使用onClick+重用该函数,还可以使用DOM遍历而不是增量类/id属性。它使您的代码更简单、更枯燥。是否可以使用要重构的函数更新问题?