我的 Bootstrap (v3.3.5) 布局 css 在 767px 处遇到了仅 Chrome 的问题,其中布局样式根本没有被应用。
这是在 3 个浏览器上尝试控制台后的行为...
Chrome
-window.innerWidth of <= 766 - correctly shows mobile layout
-window.innerWidth of == 767 - incorrectly applies no layout styles
-window.innerWidth of >= 768 - correctly shows full screen layout
Firefox
-window.innerWidth of <=766 and ==767 - correctly shows mobile layout
-window.innerWidth of >=768 - correctly shows full screen layout
Safari
-behaves fine although window.innerWidth doesn't correctly correspond to the breakpoints (perhaps something to do with Safari …Run Code Online (Sandbox Code Playgroud) 我有一个“供应商”表,看起来像这样......
**company itemKey itemPriceA itemPriceB**
companyA, 203913, 20, 10
companyA, 203914, 20, 20
companyA, 203915, 25, 5
companyA, 203916, 10, 10
Run Code Online (Sandbox Code Playgroud)
每个公司可能有数百万行,我想查询它以返回每个公司的 itemPriceA 和 itemPriceB 之间的代表性增量。我不在乎我带回哪个增量,只要它不是零/空(如第2行或第4行),所以我使用像这样的ANY_VALUE...
SELECT company
, ANY_VALUE(CASE WHEN (itemPriceA-itemPriceB)=0 THEN null ELSE (itemPriceA-itemPriceB) END)
FROM vendors
GROUP BY 1
Run Code Online (Sandbox Code Playgroud)
它似乎有效,但我注意到谷歌文档中有两句话似乎矛盾......
"当组中所有行的表达式为 NULL 时,返回 NULL。ANY_VALUE 的行为就像指定了 RESPECT NULLS;将考虑并选择表达式为 NULL 的行。 "
如果 ANY_VALUE 返回 null“当组中所有行的表达式为 NULL 时”,它不应该为 companyA 返回 null,正确的(因为 4 行中只有 2 行为 null)?但第二句话听起来确实会包含空行。
Ps,您可能想知道为什么我不简单地添加一个 WHERE 子句“WHERE itemPriceA-itemPriceB>0”,但如果一家公司只有匹配的价格,我仍然希望该公司在我的结果中返回。
我有一个强制布局,节点定义如下......
nodes = someData.map(function (d) {
return {
image_location: d.image_location,
image_width: d.image_width,
image_height: d.image_height,
aspect_ratio: d.aspect_ratio,
radius: circleRadiusScale(d.someCount),
x: width/2,
y: height / 2,
px: width/2,
py: height/2,
cx: width/2,
cy: height / 2
};
});
Run Code Online (Sandbox Code Playgroud)
然后在代码中稍后创建强制布局...
force = d3.layout.force()
.gravity(.05)
.alpha(0.1)
.size([width, height])
.on("tick", tick);
force.nodes(nodes)
.start();
Run Code Online (Sandbox Code Playgroud)
我强制x/y,px/py,cx/cy值的原因是我只是想确保节点不总是开始被投射到浏览器的左上角(这只是为了一瞬间,直到力模拟生效,但特别是在Firefox或移动设备上非常明显).
对我来说很奇怪的是,我正在用我的x/y,cx/cy,px/py值开始强制布局,然后在我编写的代码中加入浏览器应该显示的圆圈,图像等 - 换句话说,这个代码来自定义/启动力布局后......
node = svg.selectAll(".node")
.data(force.nodes(), function(d) { return d.id; })
.enter()
.append("g")
.attr("class", "node") etc to append circles, images...
Run Code Online (Sandbox Code Playgroud)
所以,我想知道如何通过浏览器忍住节点的投影,直到我知道力布局具有比0,0以外的东西的初始位置.谢谢你的任何想法!
我正在使用d3的力布局,并试图找到一种简单的方法来识别布局何时达到稳定状态(即当滴答功能停止操纵节点的位置时).
我对力的定义看起来像这样......
var force = d3.layout.force()
.friction(frictionValue)
.theta(thetaValue)
//.alpha(0.1)
.size([width, height])
.gravity(gravityValue)
.charge(chargeValue)
.on("tick", tick);
Run Code Online (Sandbox Code Playgroud)
然后滴答功能开始......
function tick(e) {
...
Run Code Online (Sandbox Code Playgroud)
我认为"e"对于捕捉模拟的终点是关键,但是因为我没有明确地将e传递给我的力定义上的tick函数,所以我不确定它代表什么或者我怎么可能能够用它来识别模拟的结束.任何人都可以阐明e的功能(因为我没有明确地传递它的值),或甚至建议一个更好的方法来做一些简单的事情,一旦强制布局模拟显示"警报(..)"消息结束了?
非常感谢您的任何帮助!
我在使用 moment.js“fromNow()”函数使用“几秒钟前”、“一小时前”等文本来格式化时间时遇到问题。
除了早了几秒钟这一事实之外,它工作得很好,这几乎总是不易察觉,但如果我在数据库中创建一个条目并立即刷新我的页面,它会告诉我我正在查看的条目是“在几秒钟”(这显然是不可能的)。
这是我用来返回前段时间文本的代码......
moment(create_date_from_mysql_db + " +0000", "YYYY-MM-DD HH:mm:ss Z").fromNow()
Run Code Online (Sandbox Code Playgroud)
(其中 create_date_from_mysql_db 看起来像:“2016-02-04 23:05:25”)
有什么想法我可能在这里做错了吗?我从另一篇 stackoverflow 帖子中获取了确切的格式参数,因为我发现数据库时间和浏览器时间之间存在差异。现在我只需要找到一种方法来修复这几秒钟的最终差异 - 即使是像某种方式在计算中添加几秒钟这样的黑客解决方案对我来说也很好!感谢您的任何想法。
我正在使用以下代码快速验证链接是否为图像...
if (getimagesize($imageLink)) {
} else {
echo "notImage";
exit();
}
Run Code Online (Sandbox Code Playgroud)
它几乎可以在所有情况下工作(例如,如果浏览器返回图像,则getimagesize将返回某些内容),但是我发现某些情况下它不起作用-例如对于此链接...
这通常适用于路透社的网站,而且我敢肯定还有其他一些网站,但是由于浏览器设法返回了图像,因此我真的很难理解为什么会出现此问题。我本来以为getimagesize需要明确声明的文件路径(例如,以.jpg,.png等结尾),但是再一次像这样的链接可以正常工作...
非常感谢任何有想法的人的想法,为什么在第一个示例中getimagesize不会返回图像,而在第二个示例中会返回图像-关于如何修改代码以适应路透社示例的任何建议也都很棒!
我有一个整数日期列“date_created”存储值,如...
20180527, 20191205, 20200208
Run Code Online (Sandbox Code Playgroud)
我想知道解析为日期的最佳方法是什么,这样我就可以在查询中做这样的事情......
select * from table where formatted(date_created) > formatted(date_created) - 90
Run Code Online (Sandbox Code Playgroud)
(退回过去 90 天内的所有物品)
我发现了一些类似的例子,它们从表示秒或毫秒的日期整数转换,但没有一个列本质上是存储为整数的日期字符串。
感谢有关实现此目标的最佳方法的任何想法
我试图理解这个美丽的例子如何运作......
http://bl.ocks.org/mbostock/1804919
我看到聚类是通过节点的颜色完成的,但我对碰撞检测功能中的线路感到困惑...
r = d.radius + quad.point.radius + (d.color !== quad.point.color) * padding;
Run Code Online (Sandbox Code Playgroud)
你怎么能"添加"颜色"d.color"和"quad.point.color"的比较产品?我会假设这只会返回真/假?无论哪种方式,我不确定我是否仅仅遵循这种颜色参考会产生所需的颜色聚类效果?
无论如何,我还没有找到任何关于碰撞检测功能工作的逐行描述,所以我真的希望这里有人能够理解它,以帮助向我解释这一点.
我最终想要实现的是通过另一个非数字节点属性(egdperson_name!== quad.point.person_name)使示例适应集群.
谢谢!
我想显示一个即使没有数据也可见的 d3 饼图(类似于这个问题:是否可以启动所有值都为 0 的 D3JS 饼图?) - 例如,显示的饼图用户个人资料中提出的问题与回答的问题总数 - 当用户刚刚注册时,您仍然希望看到饼图(可能以单一颜色显示为灰色)。
我想要实现的解决方案是在创建饼图期间检查数据是否有 2 行(一行表示正确计数,一行表示错误计数)仅由零组成,如果是这样,我只需更改一将这些数字归为 1 以便绘制图表,然后进行干预以确保没有文字显示“1 正确”之类的内容。
所以我的问题是,是否有人能找到一种合理的方法来在饼图创建过程中更改以下代码,以仅当两行均为 0 时才将其中一个饼图值从 0 更改为 1...
var pie = d3.layout.pie().sort(null).value(function(d) { return d.someCount; });
Run Code Online (Sandbox Code Playgroud)
我已经尝试了多种循环数据的解决方案(例如使用 .each() 函数)来获取 d.someCount 所有值的总和,但到目前为止它们还没有达到预期的效果,所以我怀疑我我没有正确地看待问题。
- 编辑 -
根据请求的示例 - 尝试将两个值(Javascript 中的顶行)更改为零,并且图表消失(可以理解,基于我链接到的其他 SO 帖子的反馈)...
我正在尝试递归循环嵌套评论数据,例如......
-parent comment a
----child comment a
--------grandchild comment a
----child comment b
-parent comment b
Run Code Online (Sandbox Code Playgroud)
这是我在 javascript 中所做的概述......
loadChildComments(commentdata[i].comment_id); //for every parent comment I make this call to load children
function loadChildComments(parentId){
for (k=0; k<commentdata.length; k++) { //loop through the same data set looking for child comments
if (commentdata[k].immediate_parent_id == parentId) {
//we've found a child comment
//bunch of steps to add the child comment to the page
///just finished adding a child comment so loop through to see …Run Code Online (Sandbox Code Playgroud) 我想编写一个采用这样的名称的函数......
Dan Smith Jr
Kim Johnson II
Dr Jones PHD
Bill Clinton
Run Code Online (Sandbox Code Playgroud)
并返回姓氏...
Smith
Johnson
Jones
Clinton
Run Code Online (Sandbox Code Playgroud)
我的解决方案是从字符串中截取最后一个单词,将其与停用词数组进行比较,然后递归循环,直到单词不在停用词数组中......
var fullNameArray;
var lastName;
var suffixArray = ["jR","Jr","JR","jr","I","II","III","i","ii","iii","PHD","PHd"]; //list of stopword prefixes
function getLastName(fullName){
fullNameArray = fullName.split(" ");
lastName = fullNameArray[fullNameArray.length - 1]; //got the last word
if (suffixArray.indexOf(lastName) == -1) {
//it's NOT a suffix so RETURN the name
console.log("returning last name of: " + lastName);
return lastName;
} else {
//it WAS a suffix so call the function again with …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个带有国家/地区悬停的d3地球仪(例如http://bl.ocks.org/KoGor/5994804),无论鼠标位于地球上的哪个位置,它都可以旋转/缩放(例如http:// marcneuwirth.com/blog/2012/06/24/creating-the-earth-with-d3-js)
我发现国家徘徊的每一个例子(就像我上面提到的那样)的问题在于拖曳地球只能在海洋或陆地上进行.我想知道为什么会这样,但我试图实现自己,我现在意识到这是因为你可以选择让你的大约200'路径类=土地'元素在顶部(意味着悬停工作),或者你可以选择拥有您的'path class = foreground/body etc'元素位于顶部(意味着悬停不起作用,因为侦听器应用于前景后面的陆地元素).
有没有人知道这方面的方法?我试图将一个新的拖拽监听器应用到我的每个陆地元素但是无法使其工作,并且我不确定无论如何拥有多个竞争拖动处理程序是个好主意.
真的很感激任何有关解决问题的好方法的见解 - 也许有人甚至知道一些成功结合这两种行为的例子?谢谢!