我正在尝试在React中实现List视图.我想要实现的是存储列表标题信息并注册组件并注册滚动事件.每当用户滚动窗口时,我想取出存储的div并重新计算offsetTop数据.
现在的问题是,我发现控制台只打印出初始值(值固定且永不改变)offsetTop数据在onscroll功能上永远不会改变.
有人建议如何offsetTop从_instances对象中获取最新信息吗?
import React, { Component } from 'react';
import ListHeader from './lib/ListHeader';
import ListItems from './lib/ListItems';
const styles = {
'height': '400px',
'overflowY': 'auto',
'outline': '1px dashed red',
'width': '40%'
};
class HeaderPosInfo {
constructor(headerObj, originalPosition, originalHeight) {
this.headerObj = headerObj;
this.originalPosition = originalPosition;
this.originalHeight = originalHeight;
}
}
export default class ReactListView extends Component {
static defaultProps = {
events: ['scroll', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll', 'resize', 'touchmove', 'touchend'], …Run Code Online (Sandbox Code Playgroud) 目前,我正在使用Jackson从我的基于Spring的Web应用程序发送JSON结果.
我遇到的问题是试图将所有货币字段输出为2位小数.我无法解决这个问题setScale(2),因为像25.50这样的数字被截断为25.5等
还有其他人处理过这个问题吗?我正在考虑使用自定义的Jackson序列化程序创建Money类...您可以为字段变量创建自定义序列化程序吗?你可能可以...但即使如此,我怎么能让我的客户序列化器将数字添加为2位小数的数字?
在JavaScript中,使用double equals(==)与使用triple equals(===)之间是否存在性能差异?
示例:if (foo == bar)vsif (foo === bar)
我试图使用Powermock和Mockito来模拟一个void静态方法来抛出异常,如下所示.但我遇到了一个问题.除非我使用相同的参数对Adder.add()进行两次调用,否则IOException不会抛出模拟的东西.
顺便说一句,我已经添加@RunWith(PowerMockRunner.class)并@PrepareForTest(Adder.class)在单元测试类.
class Adder{
public static void add(int i) throws IOException{
return;
}
}
@Test
public void testAdder() throws IOException{
PowerMockito.mockStatic(Adder.class);
PowerMockito.doThrow(new IOException()).when(Adder.class);
Adder.add(12);
try {
Adder.add(11);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// assert things
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.:)
答案如下.
在咨询http://code.google.com/p/powermock/issues/detail?id=278之后,实际上上面的Adder.add(12)是设置模拟静态方法的一部分.这意味着在使用参数12调用Adder.add()时,将抛出IOException.这很难理解,对吧?:)所以它应该写如下.
PowerMockito.mockStatic(Adder.class);
PowerMockito.doThrow(new IOException()).when(Adder.class);
Adder.add(anyInt());
Run Code Online (Sandbox Code Playgroud) 我想在每个列的工具提示中显示多个系列数据
tooltip: {
formatter: function() {
return '<span style="color:#D31B22;font-weight:bold;">' +this.series.name +': '+ this.y +'<br/>'+
'<b style="color:#D31B22;font-weight:bold;">'+this.x +'</b><span>';
}
},
Run Code Online (Sandbox Code Playgroud)
和数据
series: [{
showInLegend: false,
name: 'Total Click',
data: [3000,200,50,4000],
color: '#9D9D9D'
}, {
showInLegend: false,
name: 'Total View',
data: [100,2000,3000,4000],
color: '#D8D8D8'
}]
Run Code Online (Sandbox Code Playgroud)
我这样使用,但在工具提示中,一次只显示一个系列数据.我想显示这样的数据(总视图:100和总点击次数:3000)
我正在关注SitePoint的这个很棒的教程,以实现我网站上一些图像的全屏点击.
我的代码与SitePoint提供的示例非常相似,但这是我的代码:
<figure class="fullscreenOnClick">
<img src="https://dw-uploads.s3.eu-central-1.amazonaws.com/photos/originals/359c0687ae12e32bb5f26f2005763b73">
</figure>
Run Code Online (Sandbox Code Playgroud)
$('.fullscreenOnClick').on('click', function(e) {
e.preventDefault;
var elem = this;
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.webkitRequestFullscreen) {
elem.webkitRequestFullscreen();
} else {
alert("Sorry, your browser is too old and doesn't support fullscreen :-(")
}
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/xnyj9wr5/(不工作 - 再次,请参阅SitePoint示例)
我的问题是Firefox和IE会像我期望的那样显示全屏图像:图像以原始大小显示,居中.
Chrome导致问题:图像只是在黑色背景上居中,保持其当前大小.
如何让Chrome像Firefox和IE一样全屏?
请注意:我必须将全屏效果应用于外部元素,而不是img本身,否则图像会被拉伸.
我正在为一个非常大的网站做一些测试,创建了许多不同的开发人员.有没有办法判断该网站是否使用Flash和/或已加载Flash 插件?如果页面使用flash,有没有办法告诉页面/代码的哪一部分触发Flash插件加载到浏览器/页面?
更新: 我会更清楚一点.当我使用chrome for mac进入我的网页的登录页面时,我打开Chrome任务管理器,我没有看到任何插件列为正在运行.当我登录并登陆主页时,我现在看到Chrome已加载"Plug-in:Shockwave Flash"进程.查看开发人员工具中的"网络"选项卡,我看不到正在下载的任何Flash(swf)文件.如果我长时间停留在页面上Chrome将删除"Plug-in:Shockwave Flash"进程.为什么Chrome在页面未使用时加载此插件?
我使用的是PowerMock 1.4.7和JUnit 4.8.2
我只需要模拟一些静态方法,我希望其他人(来自同一个类)只返回原始值.当我模拟mockStatic并且不调用when().doReturn()所有静态方法时返回它们的默认值 - 如返回Object时为null或返回boolean时返回false等等.所以我尝试thenCallRealMethod在每个静态方法上显式使用
以返回默认实现(意味着没有模拟/没有假货),但我不知道如何在每个可能的参数变体上调用它(=我想要每个可能的输入调用原始方法).我只知道如何模拟具体的论证变异.
我有一个问题,试图在函数关闭时使函数成为全局函数.在下面列出的代码中,我有一个匿名方法,它定义了window被调用的新函数getNameField.
(function () {
function alertError (msg) {
alert(msg);
}
window.getNameField = function (fieldId) {
try{
if(!fieldId) {
fieldId='name';
}
return document.getElementById(fieldId);
} catch(e) {
alertError(e);
}
};
}());
alert(getNameField().value);
Run Code Online (Sandbox Code Playgroud)
这在浏览器中运行良好,但是当我在JSLint.com中运行代码并打开 "Disallow undefined variables"时,它会给我一个错误.
第17行第7个问题:'
getNameField'未定义.
你能帮我解决这个问题,以便JSLint真正理解这个函数应该被认为是全局的吗?
我使用以下css来更改导航栏下拉列表活动链接的背景颜色.
.navbar .nav > li.dropdown.open.active > a:hover,
.navbar .nav > li.dropdown.open > a
{
color: #fff;
background-color: #b91773;
border-color: #fff;
}
Run Code Online (Sandbox Code Playgroud)
它会正确更改活动下拉链接的背景颜色,如屏幕截图所示.

但是,如果我为nav-tabs扩展相同的css,它就不起作用.这是css类
.nav .nav-tabs > li.dropdown.open.active > a,
.nav .nav-tabs > li.dropdown.open.active > a:hover
{
color: #fff;
background-color: #b91773;
border-color: #fff;
}
Run Code Online (Sandbox Code Playgroud)
这是输出

如何解决这个问题.
javascript ×5
java ×3
mockito ×2
powermock ×2
browser ×1
closures ×1
comparison ×1
css ×1
firefox ×1
flash ×1
highcharts ×1
html ×1
html5 ×1
jackson ×1
jquery ×1
jslint ×1
mocking ×1
node.js ×1
offset ×1
performance ×1
reactjs ×1
scroll ×1
tooltip ×1
unit-testing ×1
web ×1