我花了最后一小时阅读关于缩放的各种问题以及.scrollTop()处理的变化,并尝试了至少20种不同的东西 - 一切看起来甚至可以用于我的情况,我仍然只有部分解决方案.
我有一个表单,有三个字段和一个按钮继续.继续按钮打开表单的其余部分.当您选择文本字段时,Safari移动设备会放大.我特别不介意.如果我阻止缩放,那么它可能太小而无法读取字段,如果我以可读缩放级别加载,那么您只能看到页面的一部分,因此放大行为是可以的.
情况是,在单击按钮并且窗体的另一半显示之后,窗口仍然会放大,并且您正在查看页面的随机补丁.
从我可以想象的可以有两个处理:
1)实际上在单击按钮后缩小
2)滚动到表单的下一部分显示的位置
我试着缩小和处理一切,我能找到viewport content width的meta标签不火,但不处理它为我,它只是使视口变大或小,实际上并没有缩小的.这可能对其他人有用,但不适合我,因为我已经有很多样式可能使这不是一个选择.
我已经确定了滚动解决方案并且.scrollLeft()工作正常,但.scrollTop()无论我选择哪个选择器都无关紧要.我试过了:
$('body').scrollTop
$('html').scrollTop
$('document').scrollTop
$('body,html,document').scrollTop
$('html:not(:animated),body:not(:animated)').scrollTop
$('html:not(:animated),body:not(:animated),document:not(:animated)').scrollTop
$('#content').scrollTop // that's a wrapper div
$(window).scrollTop
Run Code Online (Sandbox Code Playgroud)
有人知道如何.scrollTop()在Safari Mobile上工作吗?
在任何语言(无关紧要)中,是否有可能使用一个使用字符串数组作为键的哈希函数?
我的意思是这样的:
hash(["word1", "word2", ...]) = "element"
Run Code Online (Sandbox Code Playgroud)
而不是经典:
hash("word") = "element"
Run Code Online (Sandbox Code Playgroud)
我需要类似的东西,因为我想用作键的每个单词都可以改变函数的输出元素.我有一系列的单词,我希望该序列的特定输出(顺序也可能改变结果).
我有一个函数,它接收一个文件名和一个json对象来写入文本文件.
对象已更新,需要完全替换文件的当前内容.每个站点访问者都有自己的文件.多个快速更改会导致文件被截断fopen(file,w+),然后在锁定时不写入.最终结果是空文件.
我确信这是一种标准的简单方法,因为它是一种常见的活动.理想情况下,我正在寻找的方法是在使用fopenin w+模式截断文件或切换模式之前检查文件是否具有锁定.
看起来很奇怪你必须截断文件fopen()来获取一个文件句柄flock()来检查它是否被锁定 - 但你只是截断它,那么重点是什么?
这是我到目前为止的功能:
function updateFile($filename, $jsonFileData) {
$fp = fopen($filename,"w+");
if (flock($fp, LOCK_EX)) {
fwrite($fp, $jsonFileData);
flock($fp, LOCK_UN);
fclose($fp);
return true;
} else {
fclose($fp);
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 这里总有新人到HTML.
我想创建一个搜索框,将输入的搜索词传递到URL字段.
这是我的输入表格:
<form name="search" action="/search/" method="post">
<input type="text" name="topic" value="">
</form>
Run Code Online (Sandbox Code Playgroud)
我想将搜索字词/search/放在网址中.如何才能做到这一点?
谢谢.
你好.我是shell的新手,正在开发我的第一个kludged一起脚本.我读过所有在管间和SO还有很多很多地方disown,nohup,&和return解释,但事情是不是为我工作.
我想要一个更简单的计时器.该脚本要求用户输入小时,分钟等,然后:
echo "No problem, see you then…"
sleep $[a*3600+b*60+c]
Run Code Online (Sandbox Code Playgroud)
此时(在第一行或第二行,不确定)我希望脚本或脚本中的特定命令成为后台进程.也许是一个守护进程?因此,即使计时器仍将按计划进行
在"没问题"行后,我想要一个return命令,以便现有的shell窗口在此期间仍然有用.
终端通知命令(定时器唤醒)在上述某些使用情况下立即被调用(我现在不记得哪个),然后在正确的时间进行第二次通知.在return任何地方使用命令基本上似乎退出脚本.
我不清楚的一件事是,是否/如何disown,nohup等等适用于命令进程与脚本进程,即,它们中的任何一个只能在脚本内部的命令上正常工作(如果不是,如何将脚本初始化为仍然要求输入的后台进程).
也许我应该用一些替代品sleep?
我已经看过很多关于控制问题的帖子.禁止挂起应用程序,但它们似乎主要限于那些在.NET 1.1上运行的应用程序.我也看到了使用.BeginInvoke的建议,而不是我试过但无济于事..BeginInvoke不会挂起但它也不会调用委托.我主要担心的是,我已经使用.Invoke多年没有任何问题,我在该领域有一个主要的应用程序广泛使用它,我担心这个问题会出现在那里.就我的工作代码和失败的代码而言,我没有做任何不同的事情.我写了一个简单的代码来复制问题(全部在4.0 VS2010中):
Public Class Form1
Private WithEvents sat As TestInvoke
Private Delegate Sub doTheUpdateDelegate(ByVal message As String)
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
sat = New TestInvoke
sat.startAThread()
End Sub
Public Class TestInvoke
Public Event UpdateControl()
Public Sub startAThread()
Dim t As New Threading.Thread(AddressOf _startAThread)
Dim trace As String
trace = "a"
t.SetApartmentState(Threading.ApartmentState.STA)
t.Start()
t.Join()
End Sub
Protected Sub _startAThread()
Try
For k = 0 To 10
System.Threading.Thread.Sleep(1000)
k += 1
RaiseEvent UpdateControl()
Next
Catch …Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
#include <string.h>
char* changeString(char *inputString);
int main() {
printf("Changed string is %s\n", changeString("42"));
}
char* changeString(char *inputString) {
static const char* someStrings[3] = {"abc", "def", "ghi"};
char* output;
strcat(output, someStrings[1]);
return output;
}
Run Code Online (Sandbox Code Playgroud)
我试图将一个附加char*到另一个char*但是strcat由于char*没有大小而导致分段错误,更改char* output;以char output[100];修复分段错误,但后来我返回了错误的类型,我无法打印答案printf.
任何建议将不胜感激.
编辑:我知道上面的例子似乎没有任何价值,我改变它来演示我正在使用的逻辑.