Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从jquery中的另一个对象访问在一个对象中声明的变量_Javascript_Jquery - Fatal编程技术网

Javascript 如何从jquery中的另一个对象访问在一个对象中声明的变量

Javascript 如何从jquery中的另一个对象访问在一个对象中声明的变量,javascript,jquery,Javascript,Jquery,我试图从另一个对象访问在一个对象中声明的变量,但它不起作用 我的 我的脚本: $(function(){ homePage.tooltipshowhide(); homePage.hidetooltip(); }); (function( $ ){ homePage = { tooltipshowhide:function(){ var time = 0; $('.toggle-ttp').tooltip({html:true,placem

我试图从另一个对象访问在一个对象中声明的变量,但它不起作用
我的

我的脚本:

$(function(){
homePage.tooltipshowhide();
homePage.hidetooltip();
});

(function( $ ){ 

    homePage = {

    tooltipshowhide:function(){
        var time = 0;
        $('.toggle-ttp').tooltip({html:true,placement: 'bottom',trigger: 'manual'}).tooltip('show');
        time = setInterval(homePage.hidetooltip, 4000);
    },

    hidetooltip:function(){
        clearInterval(time);
        $('.toggle-ttp').tooltip('destroy');
        $('.toggle-ttp').tooltip({html:true});
        $('#continueBtnTop').removeClass('toggle-ttp');
    }

 };
})( jQuery );

两种不同的作用域

您应该执行以下操作(仅在调用以下对象方法后创建对象):

;(function( $ ){ 
 window.homePage = {}
 // ...
});

;(function($) {
 window.homePage = window.homePage || {};
 window.homePage.tooltipshowhide();
 // ...
});

可以通过在函数外部定义变量并更改其范围来实现这一点:

(function( $ ){ 

homePage = {
    toimeone: 0,
    tooltipshowhide:function(){
        $('.toggle-ttp').tooltip({html:true,placement: 'bottom',trigger: 'manual'}).tooltip('show');
        this.toimeone = setInterval(homePage.hidetooltip, 4000);
    },

    hidetooltip:function(){
        clearInterval(this.toimeone);
        $('.toggle-ttp').tooltip('destroy');
        $('.toggle-ttp').tooltip({html:true});
        $('#continueBtnTop').removeClass('toggle-ttp');
    }

};
})( jQuery );

将变量放在主页对象之外。

解决方案之一是在对象之外定义时间变量,另一个是将此变量定义为如下所示的对象字段

$(function(){
    homePage.tooltipshowhide();
    homePage.hidetooltip();
});
(function( $ ){ 
    homePage = {
    time: 0,

    tooltipshowhide:function(){
        $('.toggle-ttp').tooltip(
            {html:true,placement: 'bottom',trigger: 'manual'}).tooltip('show');
        this.time = setInterval(homePage.hidetooltip, 4000);
    },

    hidetooltip:function(){
        clearInterval(this.time);
        $('.toggle-ttp').tooltip('destroy');
        $('.toggle-ttp').tooltip({html:true});
        $('#continueBtnTop').removeClass('toggle-ttp');
    }

 };
})( jQuery );

我收到此错误未捕获引用错误:主页未定义代码中还有其他问题,我已修复其中一些问题:我收到此错误-->未捕获引用错误:主页未定义