我正在使用jQuery,greensock和scollorama开发一个单页的网站.
它并不一定需要支持移动浏览器,但如果它可以在iPad上运行会很好 - 所以考虑到这一点,我开始在各种手机和平板电脑上进行测试.
我遇到的问题是,scrolllorama依赖于经常被触发的滚动事件,因为这是动画被连接到的 - 但是,当使用触摸屏时,浏览器似乎只在你开始拖动时触发滚动事件当你停止时 - 这在Opera Mini,Chrome,Safari,FF Mobile中是一致的.
为了使我的页面至少部分工作,我需要提出一些让我更频繁地触发滚动事件的东西 - 有谁知道怎么做?
PS我已经尝试使用iScroll作为scrolllorama文档建议,但是这不起作用而是打破了动画并使滚动变得不可能 - 我确信插件本身有效,但它似乎不适合我'已经有了.我正在寻找比插件更少参与的东西,只是一个理想情况下触发滚动事件的片段.
TL; DR
具有触摸屏的设备似乎仅在拖动期间触发一次或两次javascript滚动事件.我可以用JS或jQuery做一个简单的补丁,它会更频繁地触发滚动事件吗?
更新:我已尝试连接触摸事件并触发浏览器滚动,如下所示:
$(document).on('touchstart touchend touchmove', function(){
$(window).trigger('scroll');
});
Run Code Online (Sandbox Code Playgroud)
这似乎在Android上使用Firefox给我带来了更好的结果,虽然我不认为这种情况经常发生,因为我觉得它比什么都没有好.
我将在其他浏览器中测试,看看这是否有帮助.
更新2:
上面的代码在Android上帮助了很多FF,但在iPhone上却没有.我尝试为iPhone触发的手势事件添加处理程序,但没有变化.
$(window).on('touchstart touchend touchmove mousewheel touchcancel gesturestart gestureend gesturechange orientationchange', function(){
//alert($(window).scrollTop());
$(window).trigger('scroll');
});
Run Code Online (Sandbox Code Playgroud) 这可能是预期的行为或至少不是jQuery/js问题,但我想要澄清一下是否有任何问题.
请考虑以下事项:
$(document).bind('keypress', function(e){
switch(e.keyCode)
{
case 37:
console.log('left cursor keydown, will fire on hold');
break;
case 39:
console.log('right cursor keydown, will fire on hold');
break;
case 80:
console.log('p will only fire once per press!');
break;
}
});
Run Code Online (Sandbox Code Playgroud)
你也可以在jQuery的文档中使用这个例子:http://api.jquery.com/keypress/
当按下左或右光标(或许多其他键,如A,E,[,等)时,事件将触发,您将在控制台中收到一条漂亮的日志消息.所有罚款和预期.不过,现在抱着试试看的关键下来-在经过短暂的停顿,你会看到,当你按住键keydown事件触发多次,但是如果你试图打一个p(或者,例如,一个j),它只会触发一次.
我正在使用FF 9.0.1和mac OSX 10.7.1以及jQuery 1.7.1对此进行测试.
这是设计,是依赖于浏览器的功能,还是与操作系统,甚至键盘本身有关?还有人有一个会重复的键列表和不会的键吗?
就用例而言,实际上没有一个 - 当我将动画绑定到光标按下并且在按下按键时开始看到奇怪的行为时,这只会出现.我的解决方法是改为使用keyup()事件,并preventDefault()在keydown()事件中使用我感兴趣的键,以阻止游标滚动屏幕.
更新:似乎在keypress事件中,keyCode始终0用于大多数字母,这可能与我认为处理程序只触发一次的原因有关.经过一些测试后,我看到了游标的重复日志条目.如果你检查jQuery API页面,并使用它上面的演示,它展示了我描述的行为:http://api.jquery.com/keypress/
还是无法解释自己:/
我正在尝试在select语句的列中获取true/false值,该值指示计数是否大于0.
我阅读了这些文档:http://dev.mysql.com/doc/refman/5.1/en/expressions.html
我不完全理解,但他们似乎表明我可以在我的表达中使用'>>'.
所以我尝试了这个:
SELECT COUNT(*)>>0 AS my_bool FROM table GROUP BY id;
Run Code Online (Sandbox Code Playgroud)
它运行并且不会生成错误或警告,但是my_bool列只包含结果COUNT(*).我正在努力做什么,如果是这样的话怎么样?
PS是的我知道我可以在处理结果的代码中测试x> y,我想知道它是否可以在MySQL中完成(随意解释为什么它不可取,无论如何)
我直到最近才使用$.load()获取另一个页面的特定部分并将其加载到当前页面中,但是当用户启动这些请求时,他们可以排队,我发现自己需要一种方法来中止它们,以免点击 - 快乐用户破坏我的页面.
这导致我$.get()工作得很好,如果在第一次返回之前启动了另一个请求,我就让我中止请求,但是现在我需要解析返回的html(它是一个带有doc-type和head元素的整个页面)并且只得到一个div它.
我该如何实现这一目标?
我SELECT在PHP页面上有几个语句,我使用Dreamweaver生成这些语句.
在完成它生成的代码之后,似乎有很多可以在大多数情况下切掉的绒毛,mysql_num_rows()每个语句的一行都是一个例子.
所以我想知道是否有人可以告诉我这是否实际上节省了资源 - 考虑到查询是否正在运行,是否有任何实际开销?
更新:在遵循Chriszuma关于microtime的建议之后,以下是我的结果:
//time before running the query
1: 0.46837500 1316102620
//time after the query ran
2: 0.53913800 1316102620
//time before calling mysql_num_rows()
3: 0.53914200 1316102620
//time after mysql_num_rows()
4: 0.53914500 1316102620
Run Code Online (Sandbox Code Playgroud)
所以似乎没有多少开销
如标题.
我有一个2meg的upload_max_filesize限制,如果我上传一个3meg文件,它会在2megs之后停止上传或继续上传直到完整的3megs上传后再决定它太大了吗?
我想在下拉菜单列表中指定数字范围,例如1-24,我正在做以下示例
<select name="hour">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
...
...
<option value="24">24</option>
</select>
Run Code Online (Sandbox Code Playgroud)
是否有任何方式我们可以说使用1-24并动态创建下拉菜单,我想我们需要使用Javascript但我不知道如何编码它们?
我正在尝试使用条件语句来检查slug中是否出现了两个单词(博客和新闻)中的任何一个.如果有人出现,我会显示一个菜单,如果另一个则显示相应的菜单.
我的页面上有一个元素,其中绑定了一个mouseenter事件,它改变了子图像的尺寸.
它就像我想要的那样工作,但是如果你用光标悬停在div所在的页面上,它会在加载时立即触发 - 这是不希望的,我希望它什么都不做,直到鼠标光标真正进入 div而不是而不只是在那里开始.
我试过在jsfiddle上敲一个例子,但页面加载得太快,让我把光标放在正确的位置:(
一种可能性是将绑定方法调用置于超时状态,以便绑定事件需要一秒钟,但如果用户将光标留在我的div上,问题仍然会发生.
有任何想法吗?
使用jQuery 1.6.2
我在使用jQuery 1.7.1的FF10中遇到了一个奇怪的问题.我有一个可能缩小图像的图库,其中一些可以从原始尺寸缩放相当多.
发生的事情是,有时候,当我尝试使用jQuery设置其不透明度的动画时,图像将"缩放"或跳转到一侧.
举个例子,看看其中一个小的,然后鼠标悬停在它上面:http: //jsfiddle.net/ZUWkh/
它可能非常微妙,但是当不透明度动画时,您可以看到图像发生变化 - 它似乎只会影响已缩小到某个点以上的图像,因为在这个示例中我看不到它发生在更大的图像上.
任何想法发生了什么,以及如何克服它?
我正在这样缩放它们只是为了使它们适合画廊中的行 - 大小是用PHP计算的并且是成比例的.如果存在差异,我可以使用CSS代替.
更新: 如果您调整浏览器窗口的大小,或者放大/缩小,问题会发生变化 - 它不会得到解决,但是碰撞的图像会发生变化,因此其中一些很好,之后一些很好,现在可以在动画时跳转.
另一个更新: 我也注意到这似乎影响了抗锯齿,因为淡出的图像似乎是"锯齿状",但在完全不透明时是平滑的.FF中的一些新东西可能会使图像看起来更漂亮吗?
还有另一个更新: 刚刚在Chrome上测试,Mac上的Safari和XP上的IE7,这个问题只发生在Mac上的FF10上(不知道其他平台或版本).奇怪...
又一个又一个更新: 刚刚在XP上用FF9测试过,这个问题不会发生.然后我将其更新为FF10,然后出现问题.认为这可能足够强大的bug报告......
jquery ×4
javascript ×3
php ×3
mysql ×2
android ×1
file-upload ×1
firefox-10 ×1
html ×1
image ×1
ios ×1
keypress ×1
mouseenter ×1
performance ×1
scroll ×1
slug ×1
wordpress ×1