0

私は現在、最初のウェブサイトの見積もり計算機を構築しようとしています.1週間Javascriptを学んでいます.jQueryを使用して、ウェブサイトが読み込まれるときにさまざまな要素を非表示にし、関連するボタンをクリックすると表示されます. 最初の質問、これを行うことで、新しい JavaScript コードと jQuery コードの間に競合が発生することはありますか?

提供されるサービスを分類するポップアウト インターフェイスを作成しました。5 つのカテゴリがあります。「何個の箱を保管する必要がありますか?」をクリックすると表示される 1 つのカテゴリをさらに作成しました。その下にテキストボックスがあり、その横に送信ボタンがあります。送信ボタンをクリックすると、新しい質問が表示されます。「どのくらいの期間保管しますか?」'weeks' と 'months' という名前のテキストボックスがもう 2 つあり、別の送信ボタンがあります。

私が達成したいと思っているのは、最初のボックスに入力された値を取得し、指定された数値を 18 で割り、1.000001 であっても次の整数に丸める関数を作成することです。同時に、「月」に入力された値に 4.33 を掛けて切り上げる必要があります。次に、月* 4.33 の結果を週に入力された値に加算して、合計期間を求めます。最終的な計算は、(合計期間* 2.50) * 最初の計算の結果である必要があります。最終結果は、選択したテキストボックスに金額として表示する必要があります-£0.00

たくさんの質問:

私が使用しているすべてのテキストボックスは、javascript が適切に見つけるために「フォーム」タグ内にある必要がありますか? もしそうなら、それはすべて 1 つの形式である必要がありますか、それとも複数を使用できますか?
同じ 'script' タグ内で Javascript と jQuery を混在させることはできますか? もしそうなら、一方が他方より先に行くべきですか?

見積もり計算機が機能するようになったら、PHP を使用してユーザーに見積もりの​​詳細を記載したメールを送信し、自分にも同じ内容を送信する予定です。HTML/Javascript でこれを考慮する必要がありますか? 送信したいすべての詳細は、1 つのフォーム/複数のフォーム/関係なく、任意の要素にする必要がありますか?

これは、ほぼ完璧な動作状態のポップアウト ボタンです (計算を除く 笑)。右側の要素にわずかな欠陥がありますが、ウェブサイトのコードでこれを修正しました。スクリプト タグの上部とコードの下部に、必要なものとその順序を理解するためにマインド マッピングを行った後、計算の一部を実行するための最善の試みを含めました。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <title>Untitled Document</title>
    <script type="text/javascript" src="jquery.js"></script>
    <style type="text/css">
    body { width:100%; height:100%; text-align:center; margin:0px; }
    div#bodycontainer { position:absolute; min-width:100%; height:100%; padding:0px; z-index:100; }
    div.centerdiv { position:relative; width:1100px; height:100%; margin:0 auto; border-left:solid 2px #ddd; border-right:solid 2px #ddd; background-image:url(images/transport_background_alt.png); overflow:visible; background-position:0px 0px; background-repeat:no-repeat; z-index:1 }
    div#getaquote { width:320px; height:55px; border:solid 1px #516c84; border-radius:15px; float:right; background:url(images/quotebkgd.png) no-repeat #fff; background-position:500px -50px; padding:none; }
    button#quote { width:300px; height:50px; margin:0px; font-family:Arial, Helvetica, sans-serif; font-size:22px; color:#516c84; background-color:#fff; border:none; }
    p#quotetitle { position:relative; top:20px; left:20px; width:500px; height:100px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:28px; color:#516c84; margin:0px; text-align:left; }
    div#callus { position:absolute; top:435px; width:340px; height:110px; font-family:"Bookman Old Style", Times New Roman, Times, serif; float:left;/*border:solid 1px #000;*/ }
    div#emailus { position:absolute; top:435px; left:340px; width:370px; height:110px; font-family:"Bookman Old Style", Times New Roman, Times, serif; float:left; }
    img.icon { float:left; }
    p#email { position:absolute; top:10px; left:120px; font-size:30px; font-weight:bold; color:#516c84; margin:0px; line-height:34px; }
    p#smallertxt { position:absolute; top:50px; left:100px; font-size:22px; color:#516c84; margin:0px; }
    p#call { position:absolute; top:10px; left:105px; font-size:28px; font-weight:bold; color:#516c84; margin:0px; line-height:34px; }
    div#minbutton { width:52px; height:52px; position:absolute; top:15px; left:915px;/*border:solid 1px #000;*/ }
    div#minbutton a:hover img { background:#516c84; }
    div.quotebuttons { position:absolute; top:70px; left:15px; width:200px; height:auto; }
    button#servcat1 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
    button#servcat1:hover { background:#516c84; color:#fff; }
    button#servcat1:click {
    background:#516c84;
    color:#fff;
    }
    button#servcat2 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
    button#servcat2:hover { background:#516c84; color:#fff; }
    button#servcat3 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
    button#servcat3:hover { background:#516c84; color:#fff; }
    button#servcat4 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
    button#servcat4:hover { background:#516c84; color:#fff; }
    button#servcat5 { position:relative; display:block; float:left; width:200px; height:60px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; color:#516c84; background:#fff; border:outset 3px #516c84; border-radius:5px; }
    button#servcat5:hover { background:#516c84; color:#fff; }
    div#transportopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
    div#storageopt { position:absolute; top:73px; left:230px; width:500px; height:330px;/*border:outset 3px #000;*/
    }
    div#freightopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
    div#relocationopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
    div#exhibitionopt { position:absolute; top:73px; left:230px; width:500px; height:330px; border:outset 3px #000; }
    div#quoteelements { position:absolute; left:750px; width:auto; height:auto; left:750px; }
    form#form { position:absolute; top:270px; width:205px; height:225px; /*border:solid 1px #000;*/ font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:20px; color:#fff; line-height:30px; }
    form#quoteform { background:none; }
    input.formdata { height:30px; width:200px; border-radius:5px; }
    input#submitbtn { position:relative; display:block; float:right; width:130px; height:50px; margin-top:7px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; }
    input#submitbtn:hover { color:#516c84; background:#fff; border-radius:5px; }
    div#quotecalc { position:absolute; top:63px; width:205px; height:210px; }
    div#total { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
    div#tax { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
    div#grandtotal { width:200px; height:52px; margin-top:7px; background:#516c84; border-radius:5px; border:outset 1px #fff; padding:4px; }
    p.calctitles { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-weight:bold; color:#fff; text-align:left; margin-left:5px; margin-top:0px; text-decoration:underline; }
    #numberprice { max-width:150px; max-height:22px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-weight:500; font-size:20px; padding:0px; color:#fff; text-align:right; text-decoration:underline; margin-top:0px; border:none; background:#516c84; }
    #storagebutton1 { width:230px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
    #storagebutton1:hover { background:#fff; color:#516c84; font-weight:bold; }
    #storagebutton2 { width:230px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:22px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; }
    #storagebutton2:hover { background:#fff; color:#516c84; font-weight:bold; }
    #backbutton { width:70px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:16px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
    #backbutton:hover { background:#fff; color:#516c84; font-weight:bold; }
    #backbutton2 { width:70px; height:70px; font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:16px; background:#516c84; color:#fff; border:outset 3px #516c84; border-radius:5px; margin-right:10px; }
    #backbutton2:hover { background:#fff; color:#516c84; font-weight:bold; }
    .optdisplay { width:470px; height:8px; background:#516c84; margin:10px auto; border:outset 3px #116c84; border-radius:5px; }
    .boxtext { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:28px; font-weight:bold; color:#fff; margin-top:10px; }
    #numbofboxes { width:85px; height:55px; background:#fff; color:#516c84; text-align:center; border:outset 2px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin:0px; }
    #numbweeks { width:60px; height:40px; background:#fff; color:#516c84; text-align:center; border:outset 5px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin:0px; }
    #numbmonths { width:60px; height:40px; background:#fff; color:#516c84; text-align:center; border:outset 5px #516c84; border-radius:5px; font-size:34px; font-weight:bold; margin-top:0px; }
    .btw { font-family:"Bookman Old Style", Times New Roman, Times, serif; font-size:18px; font-weight:bold; color:#fff; }
    #smtbxno { width:85px; height:55px; background:#516c84; color:#fff; text-align:center; border-top:solid #fff 2px; border-left:solid #eee 1px; border-right:outset 3px #516c84; border-bottom:outset 2px #516c84; border-radius:5px; font-size:24px; font-weight:bold; font-family:"Bookman Old Style", Times New Roman, Times, serif; }
    #tick2 { width:85px; height:55px; background:#516c84; color:#fff; text-align:center; border-top:solid #fff 2px; border-left:solid #eee 1px; border-right:outset 3px #516c84; border-bottom:outset 2px #516c84; border-radius:5px; font-size:24px; font-weight:bold; font-family:"Bookman Old Style", Times New Roman, Times, serif; }
    </style>
    </head><body>
    <div id="bodycontainer">
    <div id="getaquote"> <a>
    <button id="quote"> <strong>Get A Quote Now</strong></br>
    </button>
    </a>
    <p id="quotetitle"> <strong>Choose The Services You Require:</strong> </p>
    <div id="callus"> <img class="icon" src="images/phoneicon.gif" />
    <p id="call"> 0208 208 4411 </br>
    07850 495 804 </p>
    </div>
    <div id="emailus"> <img class="icon" src="images/aticon.gif" />
    <p id="email"> EMAIL: INFO

    <p id="smallertxt"> <strong>BelmontTransport.com</strong> </p>
    </p>
    </div>
    <div id="minbutton"> <a><img class="minimize" src="images/minimizebutton.png" /></a> </div>
    <div class="quotebuttons"> <a>
    <button id="servcat1"> <strong>Transport</strong> </button>
    </a> <a>
    <button id="servcat2"> <strong>Storage</strong> </button>
    </a> <a>
    <button id="servcat3"> <strong>Freight</strong> </button>
    </a> <a>
    <button id="servcat4"> <strong>Relocation</strong> </button>
    </a> <a>
    <button id="servcat5"> <strong>Exhibition</strong> </button>
    </a> </div>
    <div id="transportopt">
    <div id="dedicatedtransport" onclick="addselected">
    <input type="checkbox" name="options" onclick="options" value=250>
    Dedicated Transport
    </input>
    </div>
    <div id="commercialtransport"> Commercial Transport </div>
    </div>
    <div id="storageopt"> <a>
    <button id="backbutton"> Back </button>
    </a> <a>
    <button id="backbutton2"> Back </button>
    </a> <a>
    <button id="storagebutton1"> Palletised Storage </button>
    </a> <a>
    <button id="storagebutton2"> Boxed Storage </button>
    </a>
    <div class="optdisplay">
    <div id="noboxes">
    <p class="boxtext">How many boxes do you need to store?</p>
    <div id="boxinputs">
    <input type="text" id="numbofboxes" value="0" name="boxnumber"/>
    <button id="smtbxno"> <img src="images/tick.gif" alt="proceed"/> </button>
    </div>
    <p class="btw"> Standard box dimensions: 40cm x 40cm x 40cm </p>
    </div>
    <div id="storetimebox">
    <p class="boxtext"> How long do you need to store for? </p>
    <p class="btw"> Weeks
    <input type="text" id="numbweeks" value="0" name="weekno" />
    Months
    <input type="text" id="numbmonths" value="0" name="monthno"/>
    </p>
    <button id="tick2" onclick="workitout()"> <img src="images/tick.gif" alt="proceed"/> </button>
    </div>
    </div>
    </div>
    <div id="freightopt"> This is where freight options are displayed </div>
    <div id="relocationopt"> This is where relocation options are displayed </div>
    <div id="exhibitionopt"> This is where exhibition options are displayed </div>
    <div id="quoteelements">
    <form id="form">
    <strong>Name:</strong>
    <input class="formdata" type="text" name="name">
    <strong>Business:</strong>
    <input class="formdata" type="text" name="business">
    <strong>Email Address:</strong>
    <input class="formdata" type="text" name="email">
    <a>
    <input id="submitbtn" type="submit" value="Get Quote">
    </a>
    </form>
    <div id="quotecalc">
    <div id="total">
    <p class="calctitles"> Sub-Total </p>
    <p id="stresult"> WOULD LIKE SUB TOTAL HERE </p>
    </div>
    <div id="tax">
    <p class="calctitles"> VAT </p>
    </div>
    <div id="grandtotal">
    <p class="calctitles"> Grand Total </p>
    <p id="numberprice"> </p>
    </div>
    </div>
    </div>
    </div>
    </div>
    <script type="text/javascript">

    var totalprice=""
    var storagetime=""
    var boxno=""

    function workitout(){
    var a=parseInt(document.boxnumber.value);
    var b=parseInt(document.weekno.value);
    var c=parseInt(document.monthno.value);
    storagetime=(c*4.3);
    Math.round(storagetime)=totalprice;
    document.quotecalc.grandtotal.value=totalprice;
    };

    $(document).ready(function(){
    $("#quotetitle").hide();
    $("#callus").hide();
    $("#emailus").hide();
    $(".quotebuttons").hide();
    $("#minbutton").hide();
    $("#transportopt").hide();
    $("#storageopt").hide();
    $("#freightopt").hide();
    $("#relocationopt").hide();
    $("#exhibitionopt").hide();
    $("#quoteelements").hide();
    $("#quotecalc").hide();
    $("#quoteform").hide();
    $(".optdisplay").hide();
    $("#backbutton").hide();
    $("#backbutton2").hide();
    $("#noboxes").hide();
    $("#storetimebox").hide();

    });

    $("#quote").click(function(){
    $("#getaquote").animate({height:"550px",position:"absolute",top:"125px"});
    $("#getaquote").animate({width:"980px",left:"-245px"})
    $("#quotetitle").show(1000);
    $("#getaquote").css({"border-style":"solid","border-width":"2px","border-color":"#516c84"});
    $("#quote").hide(500);
    $("#bodytext").fadeTo(2500,0.15);
    $("#callus").show(1000);
    $("#emailus").show(1000);
    $(".quotebuttons").show(2000);
    $("#minbutton").show(1500);
    $("#quotecalc").show();
    $("#quoteelements").show(1000);

    /*$("#bodytext").css({"background":"#516c84"});9e9ec6*/


    });

    $("#minbutton").click(function(){
    $("#getaquote").animate({width:"320px",left:"435px"});
    $("#getaquote").animate({height:"55px",position:"absolute",top:"65px"});
    $("#quotetitle").hide();
    $("#getaquote").css({"border-style":"none"});
    /*$("#getaquote").css({"border-style":"solid","border-width":"2px","border-color":"#516c84"});*/
    $("#quote").show(2000);
    $("#bodytext").fadeTo(2500,1);
    $("#callus").hide(1000);
    $("#emailus").hide(1000);
    $(".quotebuttons").hide();
    $("#minbutton").hide();
    $("#transportopt").hide();
    $("#storageopt").hide();
    $("#freightopt").hide();
    $("#relocationopt").hide();
    $("#exhibitionopt").hide();
    $("#quoteelements").hide();

    });

    $("#servcat1").click(function(){
    $("#transportopt").show();
    $("#storageopt").hide();
    $("#freightopt").hide();
    $("#relocationopt").hide();
    $("#exhibitionopt").hide();

    });

    $("#servcat2").click(function(){
    $("#transportopt").hide();
    $("#storageopt").show();
    $("#freightopt").hide();
    $("#relocationopt").hide();
    $("#exhibitionopt").hide();

    });

    $("#servcat3").click(function(){
    $("#transportopt").hide();
    $("#storageopt").hide();
    $("#freightopt").show();
    $("#relocationopt").hide();
    $("#exhibitionopt").hide();

    });

    $("#servcat4").click(function(){
    $("#transportopt").hide();
    $("#storageopt").hide();
    $("#freightopt").hide();
    $("#relocationopt").show();
    $("#exhibitionopt").hide();

    });

    $("#servcat5").click(function(){
    $("#transportopt").hide();
    $("#storageopt").hide();
    $("#freightopt").hide();
    $("#relocationopt").hide();
    $("#exhibitionopt").show();

    });

    $("#storagebutton1").click(function(){
    $("#backbutton").show();
    $(".optdisplay").show()
    $(".optdisplay").animate({height:"245px"});
    $("#storagebutton2").hide();
    $("#storagebutton1").animate({width:"390px"})(5000)

    });

    $("#storagebutton2").click(function(){
    $("#backbutton").show();
    $(".optdisplay").show()
    $(".optdisplay").animate({height:"245px"});
    $("#storagebutton1").hide();
    $("#noboxes").show(500);
    $("#storagebutton2").animate({width:"390px"})(5000)

    });

    $("#backbutton").click(function(){
    $("#storagebutton1").show();
    $("#storagebutton2").show();
    $(".optdisplay").hide();
    $("#backbutton").hide();
    $("#storagebutton2").animate({width:"230px"});
    $("#noboxes").hide();
    $("#storagebutton1").animate({width:"230px"})(5000);

    });

    $("#smtbxno").click(function(){
    $("#noboxes").hide(1000);
    $("#storetimebox").show(1500);
    $("#backbutton").hide();
    $("#backbutton2").show();
    });

    $("#backbutton2").click(function(){
    $("#noboxes").show(1000);
    $("#storetimebox").hide(500);
    $("#backbutton").show();
    $("#backbutton2").hide();
    });

    </script>
    </body>
    </html>
4

2 に答える 2

3

最初に少しコンテキスト。jQuery は、JavaScript ヘルパー関数とオブジェクトの単なるライブラリです。すべて JavaScript で書かれています - 別の言語ではありません。それはただのジャバスクリプトです。jQuery と JavaScript の間に競合などはありません。

あなたの質問に対するいくつかの答え:

私は現在、最初のウェブサイトの見積もり計算機を構築しようとしています.1週間Javascriptを学んでいます.jQueryを使用して、ウェブサイトが読み込まれるときにさまざまな要素を非表示にし、関連するボタンをクリックすると表示されます. 最初の質問、これを行うことで、新しい JavaScript コードと jQuery コードの間に競合が発生することはありますか?

申し訳ありませんが、この質問は私にはあまり意味がありません。jQuery は単なる JavaScript であるため、JavaScript と jQuery の使用の間に競合はありません。

私が使用しているすべてのテキストボックスは、javascript が適切に見つけるために「フォーム」タグ内にある必要がありますか?

いいえ、テキストボックスは HTML のどこにでも配置できます。

同じ 'script' タグ内で Javascript と jQuery を混在させることはできますか?

jQueryはジャバスクリプトです。それらは自由に混合できます。

見積もり計算機が機能するようになったら、PHP を使用してユーザーに見積もりの​​詳細を記載したメールを送信し、自分にも同じ内容を送信する予定です。HTML/Javascript でこれを考慮する必要がありますか?

この機能を実装する場合は、適切な HTML/javascript をページに追加する必要があります。それまでは、何もする必要はありません。

送信したいすべての詳細は、1 つのフォーム/複数のフォーム/関係なく、任意の要素にする必要がありますか?

それは、サーバーにデータを送信する方法によって異なります。JavaScript 以外のフォーム送信の場合は、すべてのデータがフォームにある必要があります。JavaScript を使用して URL または ajax 呼び出しを介してサーバーにデータを送信する場合、データはどこにでもある可能性があり、JavaScript を使用してサーバーに送信する適切な形式に組み立てることができます。

于 2012-07-18T18:46:28.840 に答える
0

私の理解が正しければ、送信ボタンまたはその他のコントロールがクリックされた後にユーザー入力データを取得したいと考えています。一般的な質問がたくさんありますが、私はボートに飛び乗って、遅かれ早かれ直面する実用的な解決策を投稿します.

jQuery はval()メソッドを使用して、入力フィールドからデータを取得します。このメソッドを、on.('click', function(){})その値を取得するイベント バインドのコールバックとして使用することをお勧めします。

次に、計算を処理し、新しい入力フィールドを作成して、プロセスを繰り返すことができます。

于 2012-07-18T19:00:37.033 に答える