2011-01-09 18 views
0

このスクリプトを修正しようとしています。jquery "scroll" problem

<script> 
function doIt2() { 
    $("div.formbut").hide("slow"); 
    $("div.inqform").show("slow"); 
    } 
$("submit2").click(doIt2); 
$("form").submit(function() { 
    if ($("input").val() == "yes") { 
    $("p").show(4000, function() { 
     $(this).text("Ok, loaded! (now showing)"); 
    }); 
    } 
    $("div.rates").hide("slow"); 
    $("div.ratesbut").hide("slow"); 
    $("div.inqform").hide("slow"); 
    $("div.done").show("slow"); 
    return false; 
}); 
</script> 

私がしたかったのは、 "inqform" divの一番上にスクロールしています。できませんでした.. ページの一番下にスクロールしようとしました。私はそれを行うことができませんでした.. "$(" div.inqform ")の後に起こりたいと思いました。私はjsの多くを理解していません。

誰かが助けることができますか?

事前のおかげで..

+0

要素にアクセスするたびにjQueryがDOMツリー全体を検索しないようにするには、変数にjQueryオブジェクトをキャッシュする必要があります。 'var $ formbut = $(" div.formbut ");'。 –

答えて

0

ちょうどそれの一番上にスクロールする$("div.inqform").show("slow");後のコードの下に挿入する -

ライブこのスクリプトを置くしようと
var targetOffset = $('div.inqform').offset().top; 
$('html,body').animate({scrollTop: targetOffset}, 500); 
+0

ありがとう..ちょうどうまく働いた.. – Has

+0

@ハス:ありがとう*コメントを残す代わりに答えを受け入れることを検討してください! – ifaour

0

..しかし、フォームが投稿されていないことに気づきました。 お問い合わせフォームはdiv.inqform

$("div.inqform").hide("slow"); 

でありdoneアクションが行われます..しかし、フォームが投稿されていません。

私たちは待つ必要がありますdocument.readyフォームがdiv.doneを表示するまで提出する必要がありますか?