2011-11-15 22 views
0

JavaScriptを使用しているサイトを編集しています。私はそれを動作させることができましたが、ホバー状態はちょうど間違った場所に表示されています。間違ったボタンのアクティブ状態

Here is the link.「ギャラリー」をクリックすると、最後の3つのメニュー項目で強調表示されるメディアです。助けてください。ここで

は、JavaScriptコードです:

$(document).ready(function(){ 
$('#menu .container').each(function(i){ 
    if(i==0) 
    { 
     var m = 1; 
    } 
    else 
    { 
     var m = 2; 
    } 
    $(this).css('width',((m-1)*$(this).parent('li').height() + $(this).parent('li').width())).css('height',$(this).parent('li').height()).css('margin-left',-(m-1)*$(this).parent('li').height()).css('cursor','pointer'); 

    if(cur_page!=i) 
    { 
     $(this).find('.slide').html('<img src="' + tpl_base + '/images/menu-slide-' + (i+1) + '.png" />').css('top',$(this).parent('li').height()).css('left',-/*m**/($(this).parent('li').height())); 
    } 
    else 
    { 
     $(this).find('.slide').html('<img src="' + tpl_base + '/images/menu-slide-' + (i+1) + '.png" />').css('top','0px').css('left','0px'); 
    } 

    $(this).find('.text').html('<img src="' + tpl_base + '/images/menu-title-' + (i+1) + '.png" />').css('margin-left',(m-1)*$(this).parent('li').height()); 

    switch(i) 
    { 
     case 0: var a = url_base + '/bio'; 
      break; 
     case 1: var a = url_base + '/blog'; 
      break; 
     case 2: var a = url_base + '/gallery'; 
      break; 
     case 3: var a = url_base + '/media'; 
      break; 
     case 4: var a = url_base + '/contact'; 
      break; 
     default: var a = url_base; 
    } 

    $(this).click(function(){ 
     window.location = a;      
    }); 


    var t = $(this).parent('li').height(); 
    if(cur_page!=i) 
    { 
     $(this).hover(function(){ 
      $(this).find('.slide').stop().animate({top:'0px',left:/*-(t*(m-1))*/0 + 'px'}, 200)      
     },function(){ 
      $(this).find('.slide').stop().animate({top:t + 'px',left:-(t/**m*/) + 'px'}, 400)      
     }); 
    } 
}); 
}); 
+0

メディアコンタクトをクリックするとハイライト表示されます。htmlコードを確認してください。メニュー項目のコンテナに間違ったクラスがあります。メディアは実際には「ギャラリー」クラスなどを持っています – dfsq

+0

私はクラスを変更しましたが、まだ運はありません.... –

答えて

1

メニュー項目のハイライト表示は、コードのある時点で正しく設定されていない変数cur_pageに基づいて行われます。ここに値があります:

Home : cur_page = -1 
Bio : cur_page = 0 
Blog : cur_page = 1 
Gallery : cur_page = 3 // Incorrect 
Media : cur_page = 4 // Incorrect 

これは正しく設定されていることを確認します。がんばろう!

EDIT:ギャラリーページのヘッダーで

はこれです:これに

<script> 
    var url_base = "http://www.ryansemple.com"; 
    var tpl_base = "http://www.ryansemple.com/wp-content/themes/semple2010"; 
    var cur_page = -1; 
    cur_page = 3; 
</script> 

変更、それは:

<script> 
    var url_base = "http://www.ryansemple.com"; 
    var tpl_base = "http://www.ryansemple.com/wp-content/themes/semple2010"; 
    var cur_page = 2; 
</script>  

同様の修正が残りのページの世話をする必要があります。

+0

それはコードのための任意の提案ですか? –

+0

@ kwek-kwek私の編集を見てください。私はそれが助けて欲しい! – dSquared

+0

ありがとう! –

0

cur_pageは何?私はそれが現在のページインデックスであり、あなたは計算の違いがあると仮定します。おそらくあなたのインデックスは0で始まっていますが、cur_pageは1から始まります。

関連する問題