javascript - 更新函数是因为变量值改变了吗?

标签 javascript jquery function initialization

是否有必要在已更改的变量上更新函数?我不知道如何正确解释这一点,但我会在下文中尽力而为。

我有一个 .click() 函数,如果文档准备就绪,它会被初始化。此函数内部是一个 .animate() 函数,它使用变量(var content)作为选择器。如果文档准备就绪,也会定义此变量。 (下面是代码的简化版本)

$('.selector').click(function () {
   $(content).animate({
       scrollTop: target.offset().top
   }, 1000);
   return false;
});

但是这个变量根据视口(viewport)宽度在两个值之间变化。 (下面是代码的简化版本)

if(viewportWidth < 768){
    content = $('.content-wrap');
}else{
    content = $('html, body');
}

因此,如果变量值发生变化,我是否必须更新或重新初始化我的函数? 因为它不适用于其中一个选择器。

感谢您的帮助或任何值得深思的问题。 :)

=============更新=============

好吧,它仍然没有像预期的那样工作。

$(content).scroll(function() {
    console.log($(this));
}

如果变量(内容)的值发生变化,这将不起作用。如果文档准备就绪,它仅适用于为此变量设置的值。

最佳答案

您不必在函数中更改任何内容,因为 content 的值将在 click 事件发生时读取。

只要 content 变量在代码库的两个位置的范围内定义,您所拥有的就绝对可以正常工作。

你应该注意到 content 本身将是一个 jQuery 对象,所以你不需要在点击处理程序中再次包装它;只需 content.animate({... 就可以正常工作。

关于javascript - 更新函数是因为变量值改变了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45058485/

相关文章:

javascript - 使用 Angular、JavaScript 编辑和删除表单

javascript - Typescript/Javascript : mailto with subject, 正文和链接数组

javascript - 浏览器中javascript中的openssl解密

php - jQuery ajax 在 webroot 之外使用 POST 到 PHP 脚本

jquery - 从 <td class"title"> 获取 html 并将其附加到 img

php - CSS 样式不适用于 php 函数。 (WordPress)

javascript - 动态更改 JQuery Mobile 数据主题

javascript - 在 ajax HTML 响应中查找 body 标记

jquery - 使 jQuery 适用于使用 "insertAfter"等创建的元素

c - 如何将函数作为参数放入 C 中?