【问题标题】:need some jquery if-else statement help需要一些 jquery if-else 语句帮助
【发布时间】:2011-02-08 07:22:39
【问题描述】:

下面的代码已损坏,但我不确定如何。作为一个新手,我肯定在这里做了一些很大的假设。

我基本上是在尝试创建一个 if else,如果变量为 true,imBannerRotater 在 #cast 上运行,如果变量为 false,则在 #pram 上运行。

我该如何解决这个问题以获得该结果?

# 是 URL。

谢谢!-zeem

$(document).ready(function(){
                    if (mmjsRegionName == 'CO')
                        {
                $("#cast").imBannerRotater({
                    return_type: 'json',
                    data_map: {
                        image_name: 'name',
                        url_name: 'url'
                    },
                        image_url: '#',
                        base_path: '#',
                });
                    }
                    else
                        {
                $("#pram").imBannerRotater({
                                return_type: 'json',
                                data_map: {
                                    image_name: 'name',
                                    url_name: 'url'
                                },
                                    image_url: '#',
                                    base_path: '#',
                });

            });

【问题讨论】:

    标签: javascript jquery jquery-plugins


    【解决方案1】:
    $(function(){
      var $target  = $('#cast'); // or whatever you want as a default
      if (mmjsRegionName == 'CO'){
        $target = $('#cast');
      }else{
        $target = $('#param');
      }
      $target.imBannerRotater({
        return_type: 'json',
        data_map: {
          image_name: 'name',
          url_name: 'url'
        },
        image_url: '#',
        base_path: '#',
      });
    });
    

    少量重构,但应该可以帮助您实现目标。

    (虽然我不确定您所说的“如果变量为真”是什么意思——请检查 if (mmjsRegionName){ 而不是将其与字符串进行比较?)


    编辑

    如果是真/假情况,你最好使用这个:

    $(function(){
      $(mmjsRegion?'#cast':'#param').imBannerRotater({ // note the in-line if statement
        return_type: 'json',
        data_map: {
          image_name: 'name',
          url_name: 'url'
        },
        image_url: '#',
        base_path: '#',
      });
    });
    

    【讨论】:

    • 我喜欢将三元放在选择器中所达到的简洁性。
    【解决方案2】:

    如果您正在测试 mmjsRegionName 是真还是假,那么您的 if 语句应该是:

    if(mmjsRegionName) { ...
    

    【讨论】:

    • 这不是真假,而是如果 mmjsRegionName == 'CO' ,但感谢输入!
    【解决方案3】:

    最好的方法是创建一个变量并将其更改为“cast”或“pram”

    var myID = "pram";
    if (mmjsRegionName == 'CO') {
        myID = "cast";
    }
    $('#' + myID.imBannerRotation({
        //your script here...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 2011-10-12
      相关资源
      最近更新 更多