小编Che*_*yne的帖子

jQuery slideDown Snap Back Issue

我有同样的问题,我正在阅读有关整个网络,虽然我找不到解决方案.

简单地说,当在我的DIV元素上使用slideDown()方法时,我得到了丑陋的快照效果,其中jQuery将DIV大小向下滑动太远,然后以丑陋的方式快速回到实际大小.

查看网页,我试图从有问题的元素中删除所有边距和填充,但它什么也没做.

我不能为div设置静态大小,因为每个都会在页面加载时改变.一个装虽然他们不会改变.(新的div也使用ajax创建)

下面是样本DIV

<div class="response hidden new">  
<div class="right"><span class="responseTime">10:28:10 AM</span></div>  
<span class="responseUser">Someone</span><br> 
<span class="responseMessage">sdgs sdgh</span>
</div>
Run Code Online (Sandbox Code Playgroud)

和CSS

div.response {
line-height: 20px;
border-bottom: 1px dotted #546268;
}

.responseMessage {display: block}
Run Code Online (Sandbox Code Playgroud)

有人能帮我一下吗?我没有想法..我尝试使用jQuery首先弄清楚DIV的高度然后在调用slideDown()之前使用CSS()强制高度但jQuery几乎总是错误的高度...

使用display:none属性也隐藏了响应div.

然后在其上调用此函数

function quickResponse(time, user, message, epoch) {
    $('.latestStar').remove();
    addResponse(time, user, message, epoch);
        $('.new').slideDown(500).removeClass('hidden');
    $('html, body').animate({ scrollTop: '0px'}, 1000, function() {
    });     
}
Run Code Online (Sandbox Code Playgroud)

编辑 我忘了提,如果div只包含1个单词,则回弹效果不会发生..但如果我用空格键入多个单词,则会发生..

它几乎像添加空间会导致高度搞砸.

jquery slidedown

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

D3 JS数据过滤

我试图过滤数据集只显示某些选择元素的标签.这里显示的过滤器似乎工作,除了它创建了数以千计的空白元素,我显然想避免.这是因为过滤器位于追加之后,但是如果我将过滤器移到append语句之上,它就会中断.

我在这做错了什么

  var labels = svg.selectAll("text.label")
    .data(partition.nodes(bp.data.preparedData))
    .enter()
    .append("text")
    .filter(function(d){return d.ci_type === 'type'})
      .attr("class", "label")
      .attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; })
      .text(function(d, i) { return d.name } );
Run Code Online (Sandbox Code Playgroud)

d3.js

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

Angular 2单件服务不作为单身人士

所以我有一项服务称为TargetServiceim注入其他各种组件.此TargetService具有一个称为对象Targets集合的属性Target.

我的问题是我希望这个集合在路由到另一个视图后仍然存在.我的路由工作正常,但是一旦路由发生变化,服务就会丢失任何变量的内容,本质上,它会重新初始化服务.我的理解是这些注入的服务是可以传递的单身人士?

在以下示例中,在TargetIndex上,单击一个用于填充Targets[]服务(this.targetService.targets = ts;)上的对象的按钮.工作正常,然后我路由到TargetShow页面,然后回到这个索引,现在这个Targets[]属性是空的,当我希望它包含我已经填充的.

我在这里错过了什么?

App.Module

const routes: Routes = [
  { path: '', redirectTo: 'targets', pathMatch: 'full'},
  { path: 'targets', component: TargetIndexComponent },
  { path: 'targets/:id', component: TargetShowComponent }
]

@NgModule({
  declarations: [
    AppComponent,
    TargetComponent,
    TargetIndexComponent,
    TargetShowComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    ReactiveFormsModule,
    HttpModule,
    RouterModule.forRoot(routes)
  ],
  providers: [TargetService],
  bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

TargetService

@Injectable()
export class TargetService {
  public targets: Target[];

  constructor(private …
Run Code Online (Sandbox Code Playgroud)

dependency-injection angular

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

D3"森伯斯特"中心路径大小

所以我有一个非常标准的D3"Sunburst"图.但是,中心路径(即根)太大.由于围绕它的更重要的弧线争夺太空,它占据了我的图表的大部分被浪费.

我即将为外圈添加标签,但我需要更多空间.

见下文.

我想让中心圆(浅灰色位)更小,外环更厚.

在此输入图像描述 谁能帮我?

这是我的代码:

var width = 850,
      height = 700,
      padding = 6,
      duration = 750,
      labelLimit = 120,
      radius = Math.min(width, height) / 2 - 10;

    var x = d3.scale.linear()
      .range([0, 2 * Math.PI]);

    var y = d3.scale.sqrt()
      .range([0, radius]);

    var svg = d3.select("#wheel")
      .append("svg")
      .attr("width", width)
      .attr("height", height)
      .append("g")
      .attr("id", "scan")
      .attr("transform", "translate(" + width / 2 + "," + (height / 2) + ")");

    var partition = d3.layout.partition()
      .value(function(d) { return d.size; });

    var …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js sunburst-diagram

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

setInterval 使用 Electron 一小时后停止

希望有人能在这里指出我正确的方向。我的电子应用程序需要每 10 分钟左右执行一次 API 调用。目前,我在渲染器进程中使用 setInterval 循环来执行此操作,该循环每 10 分钟触发一次。

它通常工作得很好,几个小时后似乎就停止了。我有几个进程可以清除并重新启动 setInterval 来尝试解决该问题,但似乎没有任何效果。

该应用程序会打开新的浏览器窗口并显示内容,这意味着主窗口可能不会一直处于焦点状态,我怀疑这可能与此有关。

我尝试过添加

powerSaveBlocker.start("prevent-display-sleep");
powerSaveBlocker.start("prevent-app-suspension");
Run Code Online (Sandbox Code Playgroud)

到我的主要电子js脚本,但它似乎没有效果。该问题主要出现在 Windows 机器上。我不完全确定它是否发生在 Mac 或 Linux 上。

所以我的问题是,是否有任何原因会发生这种情况,即间隔在某个点之后就消失了?powerSaveBlocker 调用对我来说很有意义,但它们似乎并没有真正执行任何操作。

或者是否有更好的方法让后台进程定期运行来执行这些 API 调用?我看过,node-schedule但不确定是否能解决这个问题。

electron

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

D3,SVG和textPath:如何将文本向下移动?

我有一个图表,其中一些文本使用textPath沿着其中一个路径写入.但是,我的问题是:我需要文本位于文本路径的另一侧,即位于其下方.

这是一个例子:

目前坐在外面

我需要这里的文字在纯蓝色区域内.即,所以你可以真正阅读它.这里的蓝色弧是textPath.换句话说,我只想将文本向下移动大约20px.

真的让我感到困惑的是,我可以在文本上设置"x"属性并向左和向右移动,但我无法设置"y"属性来向上或向下移动它.

我无法弄清楚.有人可以帮忙吗?

这是我的代码

  var labels = svg.selectAll("text.label")
      .data(partition.nodes(data))
     .enter()
      .append("text")
      .attr("class", "label")
      .attr("x", 10)
      .attr("stroke","black")
      .style("background-color",'white')

    labels.append("textPath")
      .attr("xlink:href", function(d) { return '#' + d.name })
      .text(function(d) { return d.name.capitalize() })
Run Code Online (Sandbox Code Playgroud)

svg text path d3.js

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

在Postgres中收集递归JSON密钥

我在JSON数据类型(Postgres 9.3)下存储了Postgres中的JSON文档,我需要以递归方式从树中收集密钥名称.

例如,给定这个JSON树

{
 "files": {
  "folder": {
   "file1": {
    "property": "blah"
   },
   "file2": {
    "property": "blah"
   },
   "file3": {
    "property": "blah"
   },
   "file4": {
    "property": "blah"
   }
 }
},
"software": {
  "apt": {
    "package1": {
        "version": 1.2
    },
    "package2": {
        "version": 1.2
    },
    "package3": {
        "version": 1.2
    },
    "package4": {
        "version": 1.2
    }
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

我想提取类似[file1,file2,file3,file3,package1,package2,package3,package4]的东西

基本上只是我可以用于文本搜索索引的键列表.

我知道我可以使用类似的东西获得最外层对象的键列表

SELECT DISTINCT(json_object_keys(data))
Run Code Online (Sandbox Code Playgroud)

而且我知道可以用类似的东西递归地爬过树

WITH RECURSIVE data()
Run Code Online (Sandbox Code Playgroud)

但我把两者放在一起很麻烦.

有人可以帮忙吗?

postgresql recursion json

6
推荐指数
2
解决办法
3921
查看次数

如何在生产 Electron 应用程序中强制使用 ELECTRON_NO_ATTACH_CONSOLE?

我即将启动一个 Electron 应用程序,尽管我刚刚发现当您从 Windows 中的命令行运行该应用程序时,终端会话会附加到 Electron 应用程序的日志输出。您无法退出终端会话,因为它会终止应用程序。

我需要在 Windows 启动时启动我的应用程序,而不会有丑陋的终端屏幕。我还希望人们能够编写启动脚本,而不需要终端保持活动状态。

我知道我可以使用ELECTRON_NO_ATTACH_CONSOLE环境变量来做到这一点,但我不知道如何强制它始终打开。我不想set ELECTRON_NO_ATTACH_CONSOLE=true在运行应用程序之前告诉人们他们需要这样做,那很丑陋。

有人能帮我一下吗?我尝试将其放在process.env.ELECTRON_NO_ATTACH_CONSOLE=truemain.js 文件的顶部,但它什么也没做。

使用 Electron 构建器构建生产应用程序。

electron electron-builder

6
推荐指数
0
解决办法
701
查看次数

活动模型序列化器和自定义JSON结构

我正在尝试使用我的API使用Active Model Serializer gem,尽管我正在努力处理我认为非常简单的事情.

我的所有JSON响应都是包装格式,每个响应都有一个顶级消息和状态属性,数据在content属性中.每个JSON响应都遵循此格式.

{
  'status': statuscode,
  'message': message,
  'content': { 'object':obj }
}
Run Code Online (Sandbox Code Playgroud)

"content"属性的内容是我想放置Serializer输出的地方.我的文章列表等

虽然我无法弄清楚怎么做?

任何帮助将不胜感激.

activerecord json ruby-on-rails active-model-serializers

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

使用jQuery处理JSON对象?

我无法处理我从AJAX请求中获取的JSON对象.

它是一个简单的平面JSON对象,我想要做的就是将响应写回页面.

任何人都可以指出如何循环这些对象并输出值?我只是继续写[undefined][object]

代码在这里:

$.ajax({  
          type: "POST",  
          url: "func/chatResponse.php",  
          data: dataString,  
          success: function() {  
            $.getJSON('func/chatResponse.php?a=jsonLatest', function(data) {
                $.each(data, function(index) {
                    //items.push('<li id="' + key + '">' + val + '</li>');
                    $('body').append('<li id="' + data.user + '">' + data.user + '</li>');
                    alert(data);
                 });
            });
            alert("done");
          }  
        });  
Run Code Online (Sandbox Code Playgroud)

这里有JSON示例

[
    {"user":"someguy","message":"my message","timestamp":"2011-04-19 17:26:09"},
    {"user":"Cheyne","message":"Hey There ...  Nice site","timestamp":"2011-04-19 17:26:09"}
]
Run Code Online (Sandbox Code Playgroud)

javascript jquery json

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