2012-01-13 10 views
0

これは非常に簡単な、おそらくあまりにも単純な質問ですが、jQueryの限られたスキルが誰かの助けを必要とするのではないかと心配です!デフォルトでは、JQuery onclick var update

onclick="javascript: $j('#'+openc).fadeOut('normal', function({ 
$j('#'+openc).fadeIn('slow')}); 
openc=+1; 
alert('The city of ' + openc + ' is located in ' + openc + '.');" 

、OPENCは0

にOnclick、IDが0のdiv要素をフェードアウトさに設定されている、と私はdiv要素のid 1が開いていることを望む: は、コードの恥ずべき行を見よその後opencを1に更新しました。私は自分のために警告を追加しました。一度押すと、うまくいくようです。私は再びそれを押すと、それはまだ1を警告するので、私のdiv id 1はフェードアウトしてすぐに戻ってくる。 私はちょうどopenc + 1を開くように、onclickでfadeIn関数に+1を加える必要があると思うしかし、構文の権利を得ることはできません。

ありがとうございます!

編集:おそらく私の質問が十分に明確ではなかった、私はいくつかの情報を追加すると思った。イベントハンドラを追加するなどの提案はしないように頼んでください。javascript/jQueryの全騒ぎです。私がする必要があるのは、次のとおりです。

onclick、divide openc(これは数字です)、fadein openc +1、opencを独自の値+1に更新するだけです。

これはdiv間の並べ替えのためのものです。 div id = 0、openc = 0に設定されているとします。次にクリックすると、div0をフェードアウトし、div1をフェードインし、opencをequal1にする必要があります。そうすると、次回に次をクリックすると、div1が消えてdiv2が表示されます。

もう一度ありがとう、希望!

+0

私は完全なコードの例が役立つと思う、多分http://jsfiddle.net/を使用する? – Hannes

+3

jQueryを使用している場合、なぜクリックイベントハンドラを割り当てるために要素の 'onclick'属性を使用していますか?また、[W3C標準](http://www.w3.org/TR/html4/types.html#type-name)では、IDは文字([a-zA-Z])で始まる必要があります。 –

+0

onclickで「javascript:」を使用しないでください。冗長です。 –

答えて

1

HTMLアトリビュートonclickを使用するのではなく、このコードをイベントハンドラに配置する必要があります。あなたのページの<head>にでこれを入れてみてください:

<script type="text/javascript"> 
    $(function() { 
     $j("#myElement").click(function() { 
      $j('#' + openc).fadeOut('normal', function() { 
       $j('#' + openc).fadeIn('slow') 
      }); 

      openc += 1; 

      alert('The city of ' + openc + ' is located in ' + openc + '.'); 
     }); 
    }); 
</script> 

また、それはあまりにもそれらを変更するのが最善だろうのでIdsは、数字で始めることはできません。コメントで述べたように。

+0

+1 - '$'を使うために '(function($){...})($ j);'で囲んだ方がいいですね。 ;) – ThiefMaster

+0

@ThiefMasterああ、私は最近、私の答えに何かを追加することを忘れています!ありがとう。 –

+0

私はこれを試してみたいと思っていますが、私は正直なところ、この仕事をするために何を変えなければならないのか分かりません。さらに、私はサイトの頭に何かを置く必要はなく、このコードは1ページだけで動作する必要があり、サイトの他のスクリプトと競合する可能性があると心配しています。あなたは親切にも、私のonclick関数でそれをする方法を教えてもらえますか?それは大いに感謝しています! – Sherif

0

openc=+1 "openc"は数字です。 IDは数字ではありません。

+0

opencは実際には数値なのでdivも同じです。なぜそれは数字ではありませんか? – Sherif

+0

w3cの仕様でそう言われています。 –

+0

他にどのように私が前もって持っているのか分からない、あらかじめロードされたdivに基づいてPrev/Next navを作ることを提案しますか?私はあなたの答えをありがとうが、私の質問は "どのように私のページをw3cに準拠させることができますか"ではない、それは単に私のopenc varの値をクリックすると+1することができる); – Sherif