小编ajm*_*jma的帖子

使用window.resize(或其他方法)来激活jquery函数的高效方法,以及使gridster.js具有代表性

我一直在修补一些关于使gridster.js响应的圆形方法的想法.我在gridster的github问题中发现了一个代码snippit,并意识到如果我在某个窗口大小调整下运行它并销毁并重新运行gridster我可以得到gridster响应responsivley的效果.让我告诉你我的意思 -

$(window).resize(function(){
            var width = $(window).width();
            var columns = "";

            if(Modernizr.mq('screen and (max-width:640px)')){
                columns = 1;
                gridster.destroy();
                var tooFar = $('.gridster .gs-w').filter(function () {
                  return $(this).data('col') > columns;
                });
                $(tooFar).each(function () {
                  $(this).attr('data-col', '1');    
                });

                var tooBig = $('.gridster li').filter(function () {
                  return $(this).data('sizex') > columns;
                });
                $(tooBig).each(function () {
                  $(this).attr('data-sizex', columns);

                });
                $(".gridster ul").gridster({
                    widget_base_dimensions: [300, 300],
                    widget_margins: [5, 5],  
                    max_cols: 1,
                      resize: {
                          enabled: true
                        },
                        draggable: {
                          handle: '.dragDiv'
                        },
                    serialize_params: function ($w, wgd) {              
                        return …
Run Code Online (Sandbox Code Playgroud)

performance jquery responsive-design gridster

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

从URL角度,编码和解码对象

我有一个要通过url传递的对象-类似于

$location.search(myObject) 
Run Code Online (Sandbox Code Playgroud)

但是,当该对象变成对象数组时,我很难将其到达那里。我想知道如何放置一个大对象(现在是一个对象数组,我不知道是否需要更改),然后将其拉回到带有

 $location.search()
Run Code Online (Sandbox Code Playgroud)

如果我的对象只是1个小对象,则此方法效果很好,现在它是一个内部具有级别的对象数组

 var testIt = [{
                    "module1" : 
                    [
                        { 
                            "name1"  : ["option1", "option2", "option3"]
                        },
                        { 
                            "name2"  : ["option1", "option2", "option3"]
                        }
                    ]
                },
                {
                    "module2" : 
                    [
                        { 
                            "name3"  : ["option1", "option2", "option3"]
                        },
                        { 
                            "name4"  : ["option1", "option2", "option3"]
                        }
                    ]
                }];

            $location.search(testIt);
Run Code Online (Sandbox Code Playgroud)

我该如何处理这样的事情(如果URL现在很大,就可以了,但是如果有一种方法可以缩小它,那就更好了!)

谢谢!

javascript angularjs

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

Gridster.js可拖动div与内容

gridster存在一个已知问题,如果您的拖动句柄内有内容,则无法使用它进行拖动.我收到了创建者的回复,说使用ignore_dragging来处理这个问题,但我已经尝试了几个小时而没有运气.这是我提供的示例

http://jsbin.com/fuwunuyi/6/edit

我已经尝试过几个小时以不同的方式使用它,但似乎无法实现这一点.有没有人成功地让这个工作?

以防万一 - 这里是ignore_dragging - [ignore_dragging] Object |的文档 函数可选不应触发拖动的节点名称数组,默认为['INPUT','TEXTAREA','SELECT','BUTTON'].如果使用函数,则返回true以忽略拖动.(http://gridster.net/docs/classes/Draggable.html).

任何帮助将非常感激!!

jquery gridster

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

单击未在iOS上触发的事件

我有一个列表,其中包含嵌套列表,我想在点击它们时打开它们.它在桌面和各种浏览器上运行良好,但是当我使用iOS,iPad或iPhone时,它不想工作.

列表看起来像这样:

<ul class="lessonList">
   <li class="lessonItem" id="1"><input type="checkbox" class="scopeCheck">Default Scope
      <ul style="display:none;" class="scope1">...other content in here</ul>
   </li> 
</ul>
Run Code Online (Sandbox Code Playgroud)

和代码如下:

$(document).on("click",".lessonItem",function(e){
    e.stopImmediatePropagation();
         $(this).children("ul").slideToggle();

});
Run Code Online (Sandbox Code Playgroud)

我有一个stop immediateprop停止点击激活slidetoggle的复选框,但是在iOS上,它甚至不会下降,直到(并且只有)你勾选复选框.点击li本身在iOS设备中没有任何作用.

html jquery ios

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

angular,将范围传递给函数(将范围作为变量传递?)

我正在尝试将范围传递给函数,我似乎无法让它正常工作.这是我的 -

ng-click="clickFunction(scope1)"

//the function 
$scope.clickFunction = function(passedScope){

      passedScope = false;
      console.log($scope.scope1);
Run Code Online (Sandbox Code Playgroud)

所以 - 它很直接我只想传入范围并在此单击中将其设置为false.当我更改它后记录范围时,它仍然说它是真的.我也尝试过 -

  $scope.passedScope
Run Code Online (Sandbox Code Playgroud)

我想要做的是设置$ scope.scope1 = false.它在控制器的顶部设置为true,并通过具有ng-disabled ="!scope1"的按钮控制附近的按钮,我不能只做一个scope1 =!scope!在点击,因为它通过一个模态来确认用户想要完成然后运行modalInstance.result.then(function(){然后我需要将传递的范围设置为false.我只是直接调用范围,但我正在尝试创建一个可以在多个删除函数中使用的函数,因此尝试将需要更改为false的范围传递给它.

我以为我可以通过该功能传递范围.

谢谢!

更新 根据@Josep今天向我展示的内容,我能够通过将范围作为字符串传递来解决这个问题

   ng-click="clickFunction('scope1')"
Run Code Online (Sandbox Code Playgroud)

然后做

$scope[passedScope] = false;
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

角动态嵌套ng-repeat生成

我正在寻找一种基于某些数据生成嵌套菜单的方法,我想解决的问题是:

我不知道每次有多少子级别的数据(它是动态的),我想基于ng-repeats的数据生成菜单.我想要一种生成菜单的方法,而无需对重复级别进行硬编码.因此,如果有2或10,它将填补自己.

所以现在我很难对重复级别进行编码,如下所示:

<ul class="outerMenu" >
        <li ng-repeat="level in globalMenu" ng-click="showSubs =! showSubs" >{{level.name}} {{level.subs.length}}
            <ul ng-if="level.subs.length > 0" ng-show="showSubs">
                <li ng-repeat="sub in level.subs" ng-click="$event.stopPropagation()">{{sub.name}}


                </li>

            </ul>
        </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有一种方法可以根据数据生成嵌套重复(这将继续在其自身内部).因此,JSON的1级下降看起来像这样.

 $scope.globalMenu = [
  {
    'name' : 'level 1',
    'subs' : [
            {
              'name' : 'level 1-1'
            },
             {
              'name' : 'level 1-2'
            },
             {
              'name' : 'level 1-3'
            },
             {
              'name' : 'level 1-4'
            }
            ]
  },
   {
    'name' : 'level 2'
  },
   {
    'name' : 'level 3'
  },
   { …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

D3,在缩放/平移时更新绘制的数据

我有一堆点用一些 json 数据绘制到 D3 topojson 地图上,我正在努力让它放大。我有一个非常简单的缩放工作,但是我绘制的点没有移动/更新飞涨。

见这里 - http://jsfiddle.net/o3dxgfuu/6/

这是基本设置:

 var svg = d3.select("#map").append("svg")
.attr("preserveAspectRatio", "xMidYMid")
.attr("viewBox", "0 0 " + width + " " + height)
.attr("width", m_width)
.attr("height", m_width * height / width);

 svg.append("rect")
.attr("class", "background")
.attr("width", width)
.attr("height", height)

  var g = svg.append("g");

 d3.json("scripts/world-110m2.json", function(error, us) {
  g.append("g")
.attr("id", "countries")
.selectAll("path")
.data(topojson.feature(us, us.objects.countries).features)
.enter()
.append("path")
.attr("id", function(d) { return d.id; })
.attr("d", path)

});
Run Code Online (Sandbox Code Playgroud)

然后这些点被绘制在一个函数中,所以我可以根据需要交换它们(这可能是问题的一部分,我不太确定)-

 function plotPoints(data){
 svg.selectAll("circle")
 .transition()
 .delay(function(d, i) { return i * 2; }) …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js

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

下划线,检查对象数组中是否存在键

我正在尝试检查我收到的新数据对我正在抓住的对象,我想要找出的是,如果他们发送的对象的键与我当前拥有的对象中的任何键匹配.

所以我抓住了像这样的物体

myObj = [{"one": 1}, {"two": 2 },{"three" : 3}];
Run Code Online (Sandbox Code Playgroud)

我收到一个像这样的对象

{"three" : 5 }
Run Code Online (Sandbox Code Playgroud)

我想只是针对对象数组(myObj)检查这个对象,看看里面是否有"三"键(我不关心值,只是键匹配)所以我可以弹出它成为一个if语句分开喜欢 -

if( array of objects (myObj) has key from single object ( "three" ) ) {}
Run Code Online (Sandbox Code Playgroud)

我使用下划线.谢谢!

编辑:对不起,这不清楚,我正在编辑它澄清 -

我抓住myObj(对象数组),并发送一个对象 - 例如"三",我只想拉出那个单个对象键(Object.keys(updatedObject)[0])并检查如果对象数组中的任何对象具有该键.

所以_has似乎只是为了检查一个对象,而不是一个对象数组.

underscore.js angularjs

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

在 javascript 中向代理添加(递归?)级别感知

我试图通过使用代理覆盖我的对象 getter 来打印出正在通过 getter 访问哪些节点。我试图基本上测试这个大对象的哪些部分没有被我的应用程序使用。我遇到的问题是能够添加一些方法来识别吸气剂父母是什么。这是我到目前为止所拥有的

function tracePropAccess(obj) {
  return new Proxy(obj, {
    get(target, propKey, receiver) {
      console.log("Get fired on ", propKey);
      return Reflect.get(target, propKey, receiver);
    }
  });
}

const testObj = {
  a: 1,
  b: {
    a: "no",
    b: "yes"
  },
  c: {
    a: "green",
    b: {
      a: "blue",
      b: "orange"
    }
  }
};

const tracer = tracePropAccess(testObj);

tracer.b.a;

tracer.a;

tracer.c.c.a;
Run Code Online (Sandbox Code Playgroud)

这对于向我展示道具钥匙非常有效 - 但它只是第一层的钥匙。我不确定如何使用此代理来处理此问题,因为此单个函数会覆盖所提供对象中的所有代理。有什么方法可以传递对象的父母/孩子吗?可能我也错误地处理了这个问题 - 所以我正在寻找任何意见。谢谢!

javascript ecmascript-6 es6-proxy

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

用于表单验证的正则表达式 1-9999

我正在尝试编写一些表单验证,我需要输入之一为 1-9999。我对正则表达式一无所知(以前从未使用过它们),这是我的第一次尝试

/^([1-9][1-9]|[1-9]|[1-9]\d|9999)$/
Run Code Online (Sandbox Code Playgroud)

似乎不想工作,有人可以帮助我吗?谢谢!

regex numbers

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