小编Jon*_*Jon的帖子

传递变量以在jquery AJAX成功回调中起作用

我试图使用jQuery AJAX调用预加载一些图像,但是在将(url)字符串传递给AJAX调用的成功函数中的函数时遇到了实际问题(如果这是有道理的).

这是我的代码:

//preloader for images on gallery pages
window.onload = function() {
    setTimeout(function() {     
        var urls = ["./img/party/"]; //just one to get started

        for ( var i = 0; i < urls.length; i++ ) {
            $.ajax({
                url: urls[i],
                success: function(data,url) {
                    $(data).find("a:contains(.jpg)").each(function(url) {                               
                        new Image().src = url + $(this).attr("href");
                    });
                }
            });
        };  
    }, 1000);
};
Run Code Online (Sandbox Code Playgroud)

我可以看到我的(失败的)尝试将url传递到.each()调用中 - url最终获取增加整数的值.不知道为什么或这些与什么有关,也许是jpg文件的数量?

...无论如何,它当然应该采用我的原始urls数组中的单个值.

感谢您的帮助 - 我似乎总是对这些回调产生一些影响.


陆侃?

所以,我喋喋不休地听了@ron tornambe和@PiSquared的评论,目前我在这里:

//preloader for images on gallery pages
window.onload = function() { …
Run Code Online (Sandbox Code Playgroud)

ajax jquery callback

66
推荐指数
4
解决办法
12万
查看次数

避免Java中的instanceof

我在大学的某个阶段被告知(并且随后在十几个地方读过),使用instanceof应仅用作"最后的手段".考虑到这一点,是否有人能够告诉我以下代码是否是最后的手段.我已经看过堆栈溢出但是找不到类似的场景 - 也许我错过了它?

private void allocateUITweenManager() {
   for(GameObject go:mGameObjects){
      if (go instanceof GameGroup) ((GameGroup) go).setUITweenManager(mUITweenManager);
   }
}
Run Code Online (Sandbox Code Playgroud)

哪里

  • mGameObjects是一个数组,只有一些是GameGroup类型
  • GameGroup是抽象类的子类GameObject.
  • GameGroup使用UITweenable具有方法的接口setUITweenManager()
  • GameObject 不使用界面 UITweenable

我想我可以同样(也可能应该)替换GameGroup上面的代码UITweenable- 我会问同样的问题.

还有另一种方法可以避免这种情况instanceof吗?这段代码不能失败,因此(我认为,对吧?),但鉴于坏消息instanceof似乎得到了,我是否已经在我instanceof在这里使用的线路上某处犯了一些OOP的主要罪?

提前致谢!

java oop inheritance instanceof

17
推荐指数
2
解决办法
3463
查看次数

在PHP中传递方法作为参数

我有一个PHP类,如下所示:

class RandomNumberStorer{

     var $integers = [];

     public function store_number($int){
         array_push($this->integers, $int);
     }

     public function run(){
         generate_number('store_number');
     }
}
Run Code Online (Sandbox Code Playgroud)

...其他地方我有一个函数,它将一个函数作为参数,比如说:

function generate_number($thingtoDo){ 
     $thingToDo(rand());
}
Run Code Online (Sandbox Code Playgroud)

所以我初始化RandomNumberStorer并运行它:

$rns = new RandomNumberStorer();
$rns->run();
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说明有一个'调用未定义的函数store_number'.现在,我理解那是因为store_number它在RandomNumberStorer类中,它是一个更多的方法,但有什么方法可以将类方法传递给generate_number函数?

我已经尝试将该store_number函数移出类,但后来我当然得到一个与$this类/实例的上下文之外的引用有关的错误.

我想避免将实例传递RandomNumberStorer给外部generate_number函数,因为我在其他地方使用此函数.

甚至可以这样做吗?我设想的是:

 generate_number('$this->store_number')
Run Code Online (Sandbox Code Playgroud)

php parameters function

10
推荐指数
1
解决办法
6240
查看次数

Java:扩展内部类

我试图理解在Java中扩展内部类.我已经阅读过,但没有找到我的问题.所以这里......

我有...

public class Pie{
    protected Slice[] slices;

    // Pie constructor
    public Pie(int n){
         sliceGenerator(n)
    }

    private void sliceGenerator(int n){
         slices = new Slice[n];
         final float sweepAngle = 360.0f/(float)n;
         float startAngle = 0;
         for (int i=0;i<n;i++){ 
             slices[i] = new Slice(startAngle);
             startAngle += sweepAngle;
         }
    }

    @Override
    public String toString(){
         for (Slice s:slices){  
             s.toString();
         }
    }

    // Inner class...
    public class Slice{
        public Slice(float startAngle){
             //set some private fields based on startAngle and generic pie 
        }

        @Override
        public String toString(){
             return …
Run Code Online (Sandbox Code Playgroud)

java inheritance extends class

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

用于 Apache Http MultipartEntityBuilder 的 Maven 存储库

我正在尝试将'MultipartEntityBuilder' 文件导入Android 项目,但终生无法找到正确的存储库。

在 Apache HttpComponents 网站上尝试了这三个但没有成功:

compile 'org.apache.httpcomponents:httpcore:4.4.3'
compile 'org.apache.httpcomponents:httpclient:4.5.1'
compile 'org.apache.httpcomponents:httpasyncclient:4.1'
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我正确的方向吗?提前致谢。

android maven

3
推荐指数
1
解决办法
5019
查看次数

Google Plus在localhost上登录Cookie政策

我正在使用本指南整理一个使用google plus signin的webapp .

我正在运行webapp localhost:8888.

使用像这样的JavaScript,一切正常:

    gapi.signin.render(thisHandle.details.buttonId, {
        'callback': mySignIn,
        'clientid': myClientId,
        'requestvisibleactions': 'http://schemas.google.com/AddActivity',
        'scope': 'https://www.googleapis.com/auth/plus.login',
        'theme': 'light',
        'cookiepolicy': 'single_host_origin',
        'accesstype': 'offline'
    });
Run Code Online (Sandbox Code Playgroud)

如果我将我的cookiepolicy更改为'http:// localhost:8888',我会得到:

错误:invalid_request权限不严格在公共后缀 localhost:: 8888

请求详情

response_type =代码令牌id_token gsession scope = https://www.googleapis.com/auth/plus.login redirect_uri = postmessage access_type = offline cookie_policy = http:// localhost:8888 proxy = oauth2relay874392806 origin = http:// localhost:8888 state = 384885884 | 0.12629541 client_id = [我的客户ID] request_visible_actions = http://schemas.google.com/AddActivity authuser = 0

什么权威不严格按照公开后缀意味着在这种情况下,在存储用户和会话信息的条款?是否有一种解决方法可以让我运行我的开发服务器?任何帮助非常感谢.

javascript google-plus

2
推荐指数
1
解决办法
4338
查看次数

PHP传递函数作为参数语法

有人可以用PHP填写正确的语法吗?我有:

function mainFunction($str,$thingToDoInMain){
   $thingToDoInMain($str);
}

function printStr($str){
    echo $str;
}

mainFunction("Hello",printStr);
Run Code Online (Sandbox Code Playgroud)

我在WAMP上运行它,我得到一个错误/警告说

使用未定义的常量printStr - 在第5行假设'printStr'

...然后我按照需要在页面下方打印出"Hello".

那么,如何printStr在最后一行中引用函数来摆脱警告呢?我试过了$printStr,printStr()而且$printStr.提前致谢.

php syntax function

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