我基本上有一个预订引擎单位结果页面,必须显示40个单位,每个单位有1个大图像的第一个缩略图和X个随附的缩略图图像.
我一直在使用jquery延迟加载插件,但它不够彻底(我在DOM Ready上调用它),加上它在IE中不起作用(50%的客户端使用IE因此这是一个大问题) .
我认为我真正需要做的并不是真正吐出图像而是伪造的元素,例如跨度,并且可能修改我的代码,这样如果用户查看跨度,则将其渲染为图像元素.
<span src="/images/foo.gif">
Run Code Online (Sandbox Code Playgroud)
预订引擎依赖于JS,所以我想我可能只是依赖于ajaxifying所有缩略图并在窗口滚动等上有事件处理程序,以使页面"可用"并平均加载(2-3在高速DSL /电缆上使用秒而不是5到30秒.
我很欣赏任何例子或想法.
相关链接/发现可能有助于解决此问题:
#1:http://github.com/silentmatt/jquery_lazyload
jquery延迟加载的一个分支似乎解决了IE加载并增加了对容器的支持.
#2:youtube.com将一些视频的src设置为1x1透明gif,并在大约前10个结果之后设置延迟加载.
更新
#1:我们决定创建一个脚本来生成缩略图并对它们进行递归生成.我实现了它们.570个缩略图图像中的每一个都是60-120KB,而现在它们只有2 KB.由于570个并发请求,加载速度稍快但仍然很慢,即使延迟加载器插件到位,我也不确定它是否足够快地应用(即使在图像完全加载之前就准备好了DOM).虽然取得了一些进展.
我想在前10个单元之后生成1x1像素的GIF并且只是延迟加载它们.仍然需要研究一种技术.
在我完成一个补间之后,我想改变我的变量,然后只有我的鼠标移动才会开始运行一些函数,但似乎onComplete函数会立即解决所有问题.是不是onComplete函数只会在动作完成后运行?在运行Tween.to代码行之后还有其他任何方式,只有它会运行第二行更改变量吗?
stage.addEventListener(MouseEvent.MOUSE_MOVE, movevC);
public static function showSection(obj:DisplayObject):void {;
var sect2X=((obj.stage.stageWidth/2)+(obj.stage.stageWidth/4))+lg.width;
var sect2Y=((obj.stage.stageHeight/2)-(obj.stage.stageHeight/4))+lg.height;
switch (obj.name) {
case "section2" :
//onComplete run instantly??
TweenLite.to(vC, 10, {x:sect2X, y:sect2Y, rotation:0,ease:Elastic.easeInOut, onComplete:currentPage=2});
/*if ((vC.x=sect2X)&&(vC.y=sect2Y)) {
currentPage=2;
}*/
break;
}
}
private function movevC(event:MouseEvent):void {
if (currentPage==2) {
TweenLite.to(vC, 2, {x:mouseX, y:mouseY});
}
}
Run Code Online (Sandbox Code Playgroud) 使用Visual Studio生成Test Unit类.然后注释,类初始化方法.在里面使用testContext参数添加你的属性.
在测试app启动时,测试基础架构确实调用了此方法.
//Use ClassInitialize to run code before running the first test in the class
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
/*
* Any user defined testContext.Properties
* added here will be erased after this method exits
*/
testContext.Properties.Add("key", 1 ) ; // place the break point here
}
Run Code Online (Sandbox Code Playgroud)
离开MyClassInitialize后,用户添加的任何属性都将丢失.只剩下10个"官方"的.
实际上,每次调用每个测试方法之前,TestContext都会被初始官方文件覆盖.它只有在用户有测试初始化方法时才会被覆盖,在那里进行的更改都会传递给测试.
//Use TestInitialize to run code before running each test
[TestInitialize()]public void MyTestInitialize(){
this.TestContext.Properties.Add("this is preserved",1) ;
}
Run Code Online (Sandbox Code Playgroud)
这实际上意味着TestContext.Properties对于用户来说"大部分"只读.这在MSDN中没有明确记录.
在我看来,这是非常凌乱的设计+实现.为什么要将TestContext.Properties作为集合呢?用户可以使用许多其他解决方案进行类范围的初始化.
在Activity中,我需要每30秒左右调用一次Web服务,并使用数据更新UI.
是否有关于如何安排重复性任务的推荐方法?
谢谢
在我的C++程序中,我需要调用这个c API:
GConn* gnet_conn_new (const gchar *hostname,
gint port,
GConnFunc func);
Run Code Online (Sandbox Code Playgroud)
其中GConnFunc定义为:
void (*GConnFunc) (GConn *conn);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我有一个C++类,并有一个成员函数,如:
Class A {
public:
A();
void my_func (GConn* conn);
}
Run Code Online (Sandbox Code Playgroud)
在我的A::A()构造函数,我怎么能传递this->myfunc到gnet_conn_new作为GConnFunc参数?
谢谢.
我怎样才能实现以下目标:
我有一个存储在我的域中的布尔值,默认情况下Grails创建一个复选框作为控件.我想要一个具有值的选择控件:Active/Inactive.在选择Active值时True应该传递并且选择InActive值False应该传递.
我怎样才能实现这一目标
<g:select name="status" from="" optionKey="" value="" />
Run Code Online (Sandbox Code Playgroud)
非常感激.
在G1设备中实现BluetoothChat应用程序.apk时,它总是会弹出一条消息:
$adb install -r /home/parveen/workspace/BluetoothChat/bin/BluetoothChat.apk
-bash: adb: command not found
Run Code Online (Sandbox Code Playgroud)
我不清楚为什么每次都会弹出这个错误.请帮我.
提前致谢.Praween
我试图弄清楚如何在我的MVC 2 ViewModel中使用DisplayAttribute来使用Html.LabelFor()帮助器.
也不
public class TestModel
{
[Display(ResourceType = typeof(Localization.Labels))]
public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
也不
public class TestModel
{
[Display(Name = "test")]
public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
似乎工作.本地化必需属性按预期工作:
[Required(ErrorMessageResourceName = "Test", ErrorMessageResourceType = typeof(Localization.Labels))]
Run Code Online (Sandbox Code Playgroud)
我正在使用VS2010 RC.有人跑了吗?
我想调试一个用C#编写的服务,老式的方式太长了.我必须停止服务,启动我在调试模式下使用服务的应用程序(Visual Studio 2008),启动服务,附加到服务进程,然后在我的Asp.Net应用程序中导航以触发服务.
我基本上让服务在后台运行,等待任务.Web应用程序将触发服务选择的任务.
我想要做的是有一个控制台应用程序来激活服务,以便我调试.有没有人知道的简单演示?
$('a#next').click(function() {
var tags = $('input[name=tags]');
if(tags.val()==''){
tags.addClass('hightlight');
return false;
}else{
tags.removeClass('hightlight');
$('#formcont').fadeIn('slow');
$('#next').hide('slow');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我希望上面的代码在有人开始输入标签输入时立即触发fadeIn.有人能告诉我这样做的正确方法还是指向正确的方向?提前致谢
编辑
这是执行此操作的代码:
$('input#tags').keypress(function() {
$('#formcont').fadeIn('slow');
$('#next').hide('slow');
});
Run Code Online (Sandbox Code Playgroud)
我发现的唯一问题是我的光标不再显示在文本框中.我究竟做错了什么?
android ×2
c# ×2
jquery ×2
adb ×1
asp.net ×1
c++ ×1
grails ×1
javascript ×1
lazy-loading ×1
properties ×1
service ×1
tweenlite ×1
unit-testing ×1