我一直在修补一些关于使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) 我有一个要通过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现在很大,就可以了,但是如果有一种方法可以缩小它,那就更好了!)
谢谢!
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).
任何帮助将非常感激!!
我有一个列表,其中包含嵌套列表,我想在点击它们时打开它们.它在桌面和各种浏览器上运行良好,但是当我使用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设备中没有任何作用.
我正在尝试将范围传递给函数,我似乎无法让它正常工作.这是我的 -
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) 我正在寻找一种基于某些数据生成嵌套菜单的方法,我想解决的问题是:
我不知道每次有多少子级别的数据(它是动态的),我想基于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) 我有一堆点用一些 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) 我正在尝试检查我收到的新数据对我正在抓住的对象,我想要找出的是,如果他们发送的对象的键与我当前拥有的对象中的任何键匹配.
所以我抓住了像这样的物体
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似乎只是为了检查一个对象,而不是一个对象数组.
我试图通过使用代理覆盖我的对象 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)
这对于向我展示道具钥匙非常有效 - 但它只是第一层的钥匙。我不确定如何使用此代理来处理此问题,因为此单个函数会覆盖所提供对象中的所有代理。有什么方法可以传递对象的父母/孩子吗?可能我也错误地处理了这个问题 - 所以我正在寻找任何意见。谢谢!
我正在尝试编写一些表单验证,我需要输入之一为 1-9999。我对正则表达式一无所知(以前从未使用过它们),这是我的第一次尝试
/^([1-9][1-9]|[1-9]|[1-9]\d|9999)$/
Run Code Online (Sandbox Code Playgroud)
似乎不想工作,有人可以帮助我吗?谢谢!
javascript ×5
angularjs ×4
jquery ×3
gridster ×2
d3.js ×1
ecmascript-6 ×1
es6-proxy ×1
html ×1
ios ×1
numbers ×1
performance ×1
regex ×1