gpt4 book ai didi

jquery - 在 jQuery 中设置 init 函数

转载 作者:行者123 更新时间:2023-12-03 22:16:03 26 4
gpt4 key购买 nike

这里只是一个简单的问题,我想知道如何将它们设置到 init() 函数中,然后让该函数在 document.ready 上运行。此代码在单独的 main.js 文件中使用。是否需要从索引页调用?

$('#main_right_line_one').click(function(){
$('#main_regular_layover, #main_deep_layover').fadeOut('slow', function(){
$('#main_light_layover').fadeIn('slow');
});
});

$('#main_right_line_two').click(function(){
$('#main_light_layover, #main_deep_layover').fadeOut('slow', function(){
$('#main_regular_layover').fadeIn('slow');
});
});

$('#main_right_line_three').click(function(){
$('#main_light_layover, #main_regular_layover').fadeOut('slow', function(){
$('#main_deep_layover').fadeIn('slow');
});
});

感谢任何帮助。我真的很想解决这个问题,但我似乎找不到任何好的教程可以很好地解释我的特定代码的 init() 。

最佳答案

不需要特殊的“调用”,将其包含在页面上 <script src="yourfile.js"></script>并按如下方式包装您的代码,以确保它在 dom 准备好(以及存在的元素)后执行。

$(function () {
// your code goes here

});

$( a_function )$(document).ready( a_function ) 的缩写;更多关于ready handlers in the documentation

<小时/>

原因$(document).ready(...)/$(...)根本需要的是 jquery 选择像 $('#main_right_line_one')只能看到 DOM 树中执行时存在的元素。然而,<script>标签内容通常会被浏览器一遇到就执行;和<script>元素通常位于 <head> 。因此,脚本经常会看到不完整的 DOM 树。现在,感谢 jQuery 的设计,即使$('#main_right_line_one')不匹配任何元素,仍然不会出错;和 click处理程序将绑定(bind)到 0 个元素。

这一切都可以通过将此类代码包装在 $(function() { ... }) 中来避免。 ,这确保了其中的任何代码都将在 DOM 完全初始化后执行(如果已经初始化,则立即执行)。

<小时/>

为什么会有$(function() {})这样的简写对于 $(document).ready(function() {})是在 DOM 树完成之后才执行代码是一种必要的模式,几乎每个使用 jQuery 的页面都会使用。

关于jquery - 在 jQuery 中设置 init 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com