jqueryを使用していくつかの基本的な検証を実行しようとしているフォームがあります。私は入力の名前に対応する名前の空のアンカーを持っています。最初のフィールドが空であれば、入力の名前が格納され、検証スクリプトが完了すると、空のアンカーの名前であるwindow.location.hash = name + "hash"が呼び出されます。問題は、アンカーが画面の最上部に表示されるようにウィンドウを移動していることです。アンカーが画面の中央に表示されるようにウィンドウを移動したいと思います。これは可能ですか?ここに私が持っているものがあります。Javascript/jquery window.location.hash画面の中央に移動
function formValidate()
{
var $retValue = true;
var $inputs = $('.req');
var $winLoc = '';
$inputs.each(function()
{
if($(this).val() === "" && this.name != "salesmanName2")
{
var $helper = this.name + "Help";
var $pointer = this.name + "Pointer";
event.preventDefault();
($(this).addClass('reqMissing'));
showHelper($helper, $pointer);
if($winLoc == '' && this.name != "salesmanName2")
{
$winLoc = this.name + "Anchor";
}
$retValue = false;
}
else
{
($(this).removeClass('reqMissing'));
}
});
if($winLoc !== '')
{
window.location.hash=$winLoc;
}
return $retValue;
}
次に、フォームのスニペットを示します。
<li>
<a name="controlNumberAnchor"></a>
<label for='controlNumber'>Control Number: </label>
<input class='req' type='text' name='controlNumber' size='10' /><em>*</em>
<div id='controlNumberPointer' class='pointer'></div>
<div id='controlNumberHelp' class='helpBox'>Control number required</div>
</li>
これは機能します。ありがとう。私はまだjavascriptを学んでいるので、前にそれらを使ったことがないので、オフセットとscrollTopを読み返す必要があります。再度、感謝します。 – Stewie