0

メニューをクリックすると、同じdiv内にコンテンツをロードし、さまざまな部分をフェードインおよびフェードアウトするこのコードがあります。ただし、別の Web サイトへのリンクは使用できません。私が作成したそのようなリンクをクリックすると、そのコンテンツの div がクリアされ、リンクが開かれません。

解決策はありますか?ターゲット属性も追加しようとしましたが、機能しません。

ここに JQuery と HTML の部分があります。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
  document.documentElement.className += " js";   
  $(function(){
    var $containers = $("#animators > div").hide();
    $containers.eq(0).show();

    $('a').each(function(i,el){
      var idx = i;
      $(this).click(function(e){
        var $target = $containers.filter(':eq(' + idx + ')');
        if($containers.filter(':visible').not($target).length){
          $containers.filter(':visible').fadeOut(400, function(){
            $target.not(':visible').fadeIn(400);
          });
        } else {
          $target.not(':visible').fadeIn(400);
        }

        e.preventDefault();
      })
    })
  });
</script>




<div id="animators">
    <div class="container">
    <p><a class="content" href="http://www.google.com" title="Google>Google</a></p>
Text and content here #1
    </div>
    <div class="container">
Text and content here #2
    </div>
</div>
4

1 に答える 1

0

e.preventDefault();CLICK イベントハンドラーにあるため、<a>タグのデフォルトの動作 (リンクを開く) が妨げられます。何らかの理由でこの防止が必要な場合は、document.location = linkまたはwindow.open()機能を使用して新しいタブを開きます。

于 2012-07-28T14:44:06.730 に答える