小编use*_*240的帖子

从另一个Javascript文件中调用一个Javascript文件中的函数?

我需要从另一个".js"文件中调用外部".js"文件中的函数,而不引用标记中的外部文件<head>.

我知道可以动态添加一个外部".js"文件到允许访问该文件,我可以这样做......

var AppFile = "test/testApp_1.js"; 
var NewScript=document.createElement('script');
var headID = document.getElementsByTagName("head")[0]; 
NewScript.src = AppFile;
headID.appendChild(NewScript);
Run Code Online (Sandbox Code Playgroud)

然而...

这对我没用,因为外部文件需要是运行启动程序的独立文件...

$(document).ready(function()
{...}
Run Code Online (Sandbox Code Playgroud)

因此动态添加完整文件会产生不良影响.此外,我不能预先引用<head>标签中的外部文件,因为它需要是动态的.所以,这个外部文件"test/testApp_1.js"包含一个返回字符串变量的函数...

function setAppLogo(){

 var LogoFile = "test/TestApp_1_Logo.png";

 return LogoFile;
}       
Run Code Online (Sandbox Code Playgroud)

我需要访问这个函数,或者我可以将字符串存储为外部文件中的全局变量...两种方式都可以,我只需要访问值LogoFile而不加载整个外部文件.

这个让我难倒了几个小时,所以任何想法都会非常感激.

javascript jquery file external dynamic

7
推荐指数
1
解决办法
5449
查看次数

在Angularjs中使用require中的多个指令

我有这种情况,我需要访问多个指令控制器方法.

我可以使用require来从父指令访问方法,如下所示:

    require:"^parentDirective"
Run Code Online (Sandbox Code Playgroud)

但是我还需要在单独的指令(不是父节点)中访问一个方法,文档说要使用像这样的字符串数组:

    require:["^parentDirective","directiveTwo"] 
Run Code Online (Sandbox Code Playgroud)

但这样做会导致错误,尽管两个指令都已编译到DOM.

我在这里错过了什么吗?

这是我的指示:

    angular.module('testModule', ['parentModule'], function () {
    }).directive('testDirective', function() {
        return {
            restrict: 'AE',
            templateUrl: 'testTemplate.tpl.html',
            scope: {
                value1: "=",
                value2: "="
            },  
            require:['^parentDirective','otherDirective'],
            controller: function($scope,$modal,socketConnection) {

                if(case_x == true){
                    $scope.requiredController_1.ctrl1Func();
                }
                else if(case_x == false){
                    $scope.requiredController_2.ctrl2Func();
                }


            },
            link: function(scope,element,attrs,requiredController_1,requiredController_2){

                scope.requiredController_1 = requiredController_1;
                scope.requiredController_2 = requiredController_2;

            }

        };

    });
Run Code Online (Sandbox Code Playgroud)

javascript require angularjs angularjs-directive

7
推荐指数
1
解决办法
8404
查看次数

mCustomScrollBar"scrollTo,divID"无法正常工作

我似乎在使用".mCustomScrollbar("scrollTo",divID)"函数滚动到元素时遇到问题.

我有一个包含很多div的div(id ="#wrapper")(每个20px高达800 div的高度).

然后我将mCustomScrollbar添加到此#wrapper div以使用其自定义滚动条功能,如下所示:

$("#wrapper").mCustomScrollbar();
Run Code Online (Sandbox Code Playgroud)

现在我有一个大的可滚动div包含div的"列表式"结构,而不是实际的列表,只是像列表一样堆叠在一起的div.

在我的页面的其他地方,我有一个按钮,其中包含"#wrapper"div中div元素的id,当我单击此按钮时我希望将div元素滚动到视图中,这是我当前的尝试:

var divID = 'div[id^=' + clickedID +']';

$('#wrapper').mCustomScrollbar("scrollTo",divID);
Run Code Online (Sandbox Code Playgroud)

这个函数声称在#wrapper div中将"divID"滚动到视图中然而它确实存在的问题是它在"divID"进入视图之前有时需要2-4次调用"scrollTo"函数.

有人可以帮助我理解为什么"divID"在第一次调用"scrollTo"函数时不会滚动到视图中,以及如何让它按照我的预期运行?

亲切的问候

html jquery scroll scrollto custom-scrolling

4
推荐指数
1
解决办法
7236
查看次数